我想将复选框的初始状态设置为“选定”
下面是我的图形用户界面代码片段
testFrame = Frame(bigFrame)
testFrame.pack(fill=BOTH)
testLabel = Label(testFrame,
text="Start from previously saved bias point?")
testLabel.pack(side=LEFT)
testChckbttn = Checkbutton(testFrame)
testChckbttn.pack(side=LEFT)
testchckbttn.select()
但是,当我引入一个变量“testvar”时,它不再有效。一、 e.不管怎样,在开始时都不选中该框。在
^{pr2}$testvar是否出错。select()?有没有一种方法可以坚持默认选中该框?在
[编辑]-我已经删除了不完整的代码。下面是最简单的完整代码,它为我重现了错误。一、 这个代码应该生成一个默认选中的勾选框,但实际上它没有被选中。在
from Tkinter import Frame, Tk, Button, BOTH, LEFT, Label, \
Checkbutton, IntVar
class GUI(Frame):
def __init__(self,parent):
Frame.__init__(self,parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Test")
self.pack(fill=BOTH,expand=1)
bigFrame = Frame(self)
bigFrame.pack(fill=BOTH,expand=1)
testFrame = Frame(bigFrame)
testFrame.pack(fill=BOTH)
testLabel = Label(testFrame,
text="Test")
testLabel.pack(side=LEFT)
testvar = IntVar()
testChckbttn = Checkbutton(testFrame,variable=testvar)
testChckbttn.pack(side=LEFT)
testChckbttn.select()
def main():
root = Tk()
app = GUI(root)
root.mainloop()
if __name__ == '__main__':
main()
最好的解决方案是使
testvar
成为一个实例变量:实际上,
testvar
正在select()上更新(即在select()打印1之后print testvar.get()
),但由于某些原因,testChckbttn
对象没有明显更新。在但是,从长远来看,将其作为实例变量将有所帮助,因为它现在可以在类的其他方法中使用,因为它在
initUI
方法中可能没有太多用处。在相关问题 更多 >
编程相关推荐