首页 > 解决方案 > 在类中的 tkinter 中创建多个按钮 - python 3

问题描述

我正在为我正在为项目创建的程序制作 gui。我在同一行中制作了多个按钮,是否可以在一个类中执行此操作,这样我就不必不断重复代码?谢谢

flashcards.config(height = 15, width = 45 )
flashcards.place(x=1, y=600)

cMinigames = tk.Button(text="Core Minigames", bg="DarkSeaGreen1", fg="ghost white")
cMinigames.config(height = 15, width = 45)
cMinigames.place(x=300, y=600)

timetables = tk.Button(text="Timetables", bg="DarkSeaGreen1", fg="ghost white")
timetables.config(height = 15, width = 45 )
timetables.place(x=600, y=600)

quizzes = tk.Button(text="Quizzes", bg="DarkSeaGreen1", fg="ghost white")
quizzes.config(height = 15, width = 45 )
quizzes.place(x=900, y=600)

pmf = tk.Button(text="Pick My Focus!", bg="DarkSeaGreen1", fg="ghost white")
pmf.config(height = 15, width = 50 )
pmf.place(x=1200, y=600)```

标签: pythonpython-3.xooptkinter

解决方案


是的,当然可以。有多种方法可以创建看起来相似的按钮。一种方法是创建您提到的类。

class MyButtons(tk.Button):
    def __init__(self,master,**kwargs):
        super().__init__(master =master, **kwargs)
        self.outlook = {"bg":"DarkSeaGreen1","fg":"ghost white","height":15,"width":45}
        self.config(self.outlook)

如果要更改按钮的背景颜色,只需更改 self.outlook 字典中的“bg”选项。您还可以向 self.outlook 字典添加其他配置选项。

创建类后,您需要使用该类创建按钮:

mybutton1 = MyButtons(root,text="Button 1")
mybutton1.place(x=100,y=100)

创建看起来相似的按钮的另一种方法是使用 Ttk 样式。那是另一种选择。你可能想看看那个。


推荐阅读