Tkinter OptionMenu标题刷新

时间:2018-11-28 00:13:59

标签: python python-3.x tkinter

我对面向对象的世界还很陌生。我只是完全掌握了自己今天所做的事情,而我的代码的最后部分却遇到了问题。我有一个选项框,其中包含从数组中拉出的列表。当选择一个选项时,我需要程序执行任务,然后将其自身设置回给它的标题。

我不确定解决此问题的最佳方法,甚至不确定是否使用最佳选择来使程序正常运行。

这是我的代码。我已将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()

0 个答案:

没有答案