0
我想用多個複選框打開一個MessageBox來選擇一些選項。 MessageBox工作正常,但我無法訪問複選框的狀態。 我可以切換複選框(訪問課堂作品),但我無法獲得狀態。 如何取回主窗口中的複選框狀態?無法獲取MessageWindow中的複選框狀態
怎樣的程序應該工作: 主窗口可以創建ChooseBox ChooseBox應該給選項中進行選擇(用於測試例如這裏一個選項) 拜見窗口應獲取狀態(與測試按鈕這裏測試) (用python27工作和窗口 - 但在Ubuntu上它沒有也不工作)
#!/usr/bin/python3
# -*- coding: cp1252 -*-
from Tkinter import *
class ChooseBox(Tk):
def __init__(self):
Tk.__init__(self)
self.var = IntVar()
self.chk = Checkbutton(self, text="Option 1", variable=self.var)
self.chk.pack()
# Button to show the status of the checkbutton
button = Button(self, text='Show Stat',
command=lambda: self.Status(self.var))
button.pack()
def Status(self, var):
print var.get()
def message():
global Choose
Choose = ChooseBox()
Choose.mainloop()
def test():
global Choose
Choose.chk.toggle()
print Choose.var.get()
def main_wrapper(argv):
global Choose
root = Tk()
root.geometry("200x150+30+30")
Button_Frame=Frame(root)
Button_Frame.pack(side=BOTTOM, anchor=W, fill=X, expand=NO)
Button(Button_Frame, text='Make ChooseBox', command=message).pack(side=LEFT, anchor=W, padx=5, pady=5)
# Button to test access to the Box - here it toggles the Checkbutton and (should) prints the status
Button(Button_Frame, text='test', command=test).pack(side=LEFT, anchor=W, padx=5, pady=5)
Button(Button_Frame, text='Quit', command=root.quit).pack(side=RIGHT, anchor=E, padx=5)
root.mainloop()
if __name__ == '__main__':
main_wrapper(sys.argv)