我对面向对象的世界还很陌生。我只是完全掌握了自己今天所做的事情,而我的代码的最后部分却遇到了问题。我有一个选项框,其中包含从数组中拉出的列表。当选择一个选项时,我需要程序执行任务,然后将其自身设置回给它的标题。
我不确定解决此问题的最佳方法,甚至不确定是否使用最佳选择来使程序正常运行。
这是我的代码。我已将clip()
函数替换为return
,因此需要对其进行更改。过去,我只是再次运行create()
来刷新按钮,但是由于无法将master
变量传递给create
函数,因此无法正常工作。
from tkinter import *
smename = ['test', 'test2', 'test3']
smescript = []
class hdtools:
def __init__(self, master):
master.title("HDTools")
master.attributes("-topmost", True)
self.create(master)
def create(self, master):
self.add_grid(master, smename, self.index, 'Start, Middle, & End', 1)
def add_grid(self, master, data, command, title, row):
var = StringVar(root)
popupMenu = OptionMenu(master, var, *data, command=command)
popupMenu.configure(width=20)
popupMenu.pack()
var.set(title)
def index(self, *entry):
global smename, smescript
dex = smename.index(*entry)
self.clip(smescript, dex)
def clip(self, script, dex):
return
root = Tk()
gui = hdtools(root)
root.mainloop()