具有单个主循环的多个窗口上的OptionMenu

时间:2015-09-03 07:17:02

标签: python tkinter

data.query.results.div

单击按钮newGui将显示新窗口,但所选值不会显示在第二个optionmenu小部件上。当我打印self.op2.get()或打印num时,它会打印所选的值。如何才能使第二个选项正常运行?

1 个答案:

答案 0 :(得分:2)

出现此问题是因为在Omenu2课程中,您正在创建新的Tk()应用。

此外,除非为拥有组件的应用程序调用{​​{1}},否则其小部件将不会更新。

另外,我认为你真的不需要一个新的.mainloop()应用程序。如果您希望新选项菜单进入新窗口,则应使用tk.Toplevel()

示例 -

guiOpmenu2.py -

Tk()

你的主要脚本 -

import Tkinter as tk
class Omenu2(object):

    def __init__(self, app):
        self.app = app
        self.master = tk.Toplevel(app)
        self.master.title('test1')
        self.OpMenu2()

    def OpMenu2(self):
        self.op2 = tk.StringVar()
        self.opt2 =['2', '3']
        self.men2 = tk.OptionMenu(self.master, self.op2, *self.opt2, command=self.test)
        self.men2.pack()

    def test(self, num):
       print self.op2.get()
       print num