python checkbox 用法,我用举了很多实例来检测表单的各种状态,下面一个个实现带图给大参考吧。
检测表单是否disabled了,代码如下
from Tkinter import *class Dummy: pass
var = Dummy()root = Tk()
root.title('Checkbutton')
for castmember, row, col, status in [
('A', 0,0,NORMAL), ('B', 0,1,NORMAL),
('C', 1,0,DISABLED), ('D', 1,1,NORMAL),
('E',2,0,NORMAL), ('F', 2,1,NORMAL)]:
setattr(var, castmember, IntVar())
Checkbutton(root, text=castmember, state=status, anchor=W,
variable = getattr(var, castmember)).grid(row=row, column=col, sticky=W)
root.mainloop()
检测表单的状态
# check buttons, the easy way
from Tkinter import *
root = Tk()
states = []
for i in range(10):
var = IntVar()
chk = Checkbutton(root, text=str(i), variable=var)
chk.pack(side=LEFT)
states.append(var)
root.mainloop()
print map((lambda var: var.get()), states)
保存表单状态
from Tkinter import *
states = []
def onPress(i):
states[i] = not states[i]root = Tk()
for i in range(10):
chk = Checkbutton(root, text=str(i), command=(lambda i=i: onPress(i)) )
chk.pack(side=LEFT)
states.append(0)
root.mainloop()
print states
检测一个表单
from Tkinter import *
class AllTkinterWidgets:
def __init__(self, master):
frame = Frame(master, , , bd=1)
frame.pack()iframe1 = Frame(frame, bd=2, relief=SUNKEN)
Button(iframe1, text='Button').pack(side=LEFT, padx=5)
Checkbutton(iframe1, text='CheckButton').pack(side=LEFT, padx=5)v=IntVar()
Radiobutton(iframe1, text='Button', variable=v,
value=3).pack(side=RIGHT, anchor=W)
Radiobutton(iframe1, text='Dio', variable=v,
value=2).pack(side=RIGHT, anchor=W)
Radiobutton(iframe1, text='Ra', variable=v,
value=1).pack(side=RIGHT, anchor=W)
iframe1.pack(expand=1, fill=X, pady=10, padx=5)
root = Tk()
#root.option_add('*font', ('verdana', 10, 'bold'))
all = AllTkinterWidgets(root)
root.title('Tkinter Widgets')
root.mainloop()
增加一个对话框
from Tkinter import *
import tkSimpleDialogclass MyDialog(tkSimpleDialog.Dialog):
def body(self, master):
Label(master, text="First:").grid(row=0, sticky=W)
Label(master, text="Second:").grid(row=1, sticky=W)
self.e1 = Entry(master)
self.e2 = Entry(master)
self.e1.grid(row=0, column=1)
self.e2.grid(row=1, column=1)
self.cb = Checkbutton(master, text="Hardcopy")
self.cb.grid(row=2, columnspan=2, sticky=W)
def apply(self):
first = self.e1.get()
second = self.e2.get()
print first, secondroot = Tk()
d = MyDialog(root)
print d.result