关于按钮的简单 Python Tkinter 问题
有没有人能给我一些示例代码?我对Python还算熟悉,但这个问题我搞不定。我会从其他代码生成一个包含“x”个元素的列表。我需要用Tkinter来显示“x”个按钮,这些按钮可以被选中或取消选中。然后,一旦用户选择了他们想要的按钮,就可以按下“GO”按钮,接下来会有更多的代码只针对那些被选中的列表项执行。简单来说,我就是想通过Tkinter的复选按钮来把某些东西设为真或假(或者说1或0)。如果有人能教我怎么用类来实现这个,我会非常感激。谢谢!!
2 个回答
0
制作一个漂亮的切换按钮
import Tkinter
class TkToggle(Tkinter.Tk):
def __init__(self, parent):
Tkinter.Tk.__init__(self, parent)
self.parent = parent
self.initialize()
def initialize(self):
global toggle
toggle = 0
self.Button = Tkinter.Label(self, text='X', relief='ridge')
self.Button.pack(ipadx=15,ipady=15)
self.Button.bind('<ButtonRelease-1>', self.Toggle)
def Toggle (self, event):
global toggle
if toggle == 0:
toggle = 1
self.Button.configure(text = '')
print 'A'
else:
toggle = 0
self.Button.configure(text = 'X')
print 'B'
if __name__ == "__main__":
app = TkToggle(None)
app.mainloop()
2
import Tkinter as tk
def printVar():
print 'var is', var.get()
root = tk.Tk()
var = tk.IntVar()
c = tk.Checkbutton(root, text='Check me', variable=var, command=printVar)
c.pack()
root.mainloop()
去看看 Python维基上的Tkinter页面。
编辑
import Tkinter as tk
def printOpts():
for opt, val in zip(options, checkboxes):
print opt + ': ' + str(bool(val.get()))
options = ['eggs', 'apples', 'pears']
checkboxes = []
root = tk.Tk()
for opt in options:
v = tk.IntVar()
checkboxes.append(v)
c = tk.Checkbutton(root, text=opt, variable=v)
c.pack()
btn = tk.Button(root, text='Print options', command=printOpts)
btn.pack()
root.mainloop()