【发布时间】:2022-01-09 09:31:24
【问题描述】:
在这个框架中,我有 5 个按钮。每个按钮都有几乎所有相同的设置。然后我的代码看起来很拥挤,并且需要更长的时间来重现。
homeButton = tk.Button(navFrame,command=lambda:self.switch(homeButton,"homeFrame"),image=home,
bg=colour["red"],activebackground=colour["black"],bd=0, cursor="hand2",width=100,height=100)
homeButton.place(x=50,y=150,anchor="center")
taskButton = tk.Button(navFrame,command=lambda:self.switch(taskButton,"taskFrame"),image=tasks,
bg=colour["red"],activebackground=colour["black"],bd=0, cursor="hand2",width=100,height=100)
taskButton.place(x=50,y=250,anchor="center")
monitorButton = tk.Button(navFrame,command=lambda:self.switch(monitorButton,"monitorFrame"),image=proxy,
bg=colour["red"],activebackground=colour["black"],bd=0, cursor="hand2",width=100,height=100)
monitorButton.place(x=50,y=350,anchor="center")
controllerButton = tk.Button(navFrame, command=lambda:self.switch(controllerButton,"controllerFrame"),image=options,
bg=colour["red"], activebackground=colour["black"],bd=0, cursor="hand2",width=100,height=100)
controllerButton.place(x=50,y=450,anchor="center")
settingsButton = tk.Button(navFrame,command=lambda:self.switch(settingsButton,"settingsFrame"),image=settings,
bg=colour["red"],activebackground=colour["black"],bd=0, cursor="hand2",width=100,height=100)
settingsButton.place(x=50,y=550,anchor="center")
有没有办法,比如在 css/html 中为这个框架中的所有按钮设置这些设置 (navFrame)。
我看过了,关于这个话题的说法不多。
Tkinter 也很烂,如果有人可以推荐任何更好的 Python GUI 工具,因为它非常限制无法创建圆形按钮。
【问题讨论】:
-
if anyone can recommend any better Python GUI tools as it's very limiting not being able to create rounded buttons.PySimpleGUI 提供了获得圆形按钮的多种方法的示例(Jason 在下面回答并展示了在 PSG 中制作它们的多种方法)。