python 复选框 checkbutton

"create a bar of check buttons that run dialog demos"

from tkinter import * # get base widget set
from dialogTable import demos # get canned dialogs
from quitter import Quitter # attach a quitter object to "me"

class Demo(Frame):
def init(self, parent=None, **options):
Frame.init(self, parent, **options)
self.pack()
self.tools()
Label(self, text="Check demos").pack()
self.vars = []
for key in demos:
var = IntVar()
Checkbutton(self,
text=key,
variable=var,
command=demos[key]).pack(side=LEFT)
self.vars.append(var)

def report(self):
    for var in self.vars:
        print(var.get(), end=' ')   # current toggle settings: 1 or 0
    print()

def tools(self):
    frm = Frame(self)
    frm.pack(side=RIGHT)
    Button(frm, text='State', command=self.report).pack(fill=X)
    Quitter(frm).pack(fill=X)

if name == 'main': Demo().mainloop()

--

define a name:callback demos table

from tkinter.filedialog import askopenfilename # get standard dialogs
from tkinter.colorchooser import askcolor # they live in Lib\tkinter
from tkinter.messagebox import askquestion, showerror
from tkinter.simpledialog import askfloat

demos = {
'Open': askopenfilename,
'Color': askcolor,
'Query': lambda: askquestion('Warning', 'You typed "rm *"\nConfirm?'),
'Error': lambda: showerror('Error!', "He's dead, Jim"),
'Input': lambda: askfloat('Entry', 'Enter credit card number')
}

--
"""
a Quit button that verifies exit requests;
to reuse, attach an instance to other GUIs, and re-pack as desired
"""

from tkinter import * # get widget classes
from tkinter.messagebox import askokcancel # get canned std dialog

class Quitter(Frame): # subclass our GUI
def init(self, parent=None): # constructor method
Frame.init(self, parent)
self.pack()
widget = Button(self, text='Quit', command=self.quit)
widget.pack(side=LEFT, expand=YES, fill=BOTH)

def quit(self):
    ans = askokcancel('Verify exit', "Really quit?")
    if ans: Frame.quit(self)

if name == 'main': Quitter().mainloop()

你可能感兴趣的:(python 复选框 checkbutton)