Tkinter教程(4)

2019-08-31 15:05

def callCheckbutton():

#改变v的值,即改变Checkbutton的显示值 v.set('check Tkinter')

root = Tk() v = StringVar()

v.set('check python')

#绑定v到Checkbutton的属性textvariable

Checkbutton(root,text = 'check python',textvariable = v,command = callCheckbutton).pack()

root.mainloop()

'''4.上述的textvariable使用方法与Button的用法完全相同,使用此例是为了区别Checkbutton的另外的一个属性variable,此属性与textvariable不同,它是与这个控件本身绑定,Checkbutton自己有值:On和Off值,缺省状态On为1,Off为0,如:''' #显示Checkbutton的值 from Tkinter import * root = Tk()

#将一整数与Checkbutton的值绑定,每次点击Checkbutton,将打印出当前的值 v = IntVar()

def callCheckbutton(): print v.get() Checkbutton(root,

variable = v,

text = 'checkbutton value',

command = callCheckbutton).pack() root.mainloop()

'''5.Checkbutton的值不仅仅是1或0,可以是其他类型的数值,可以通过onvalue和offvalue属性设置Checkbutton的状态值,如下代码将On设置为'python',Off值设置为'Tkinter',程序的打印值将不再是0或1,而是'Tkinter’或‘python’''' from Tkinter import * root = Tk()

#将一字符串与Checkbutton的值绑定,每次点击Checkbutton,将打印出当前的值 v = StringVar()

def callCheckbutton(): print v.get() Checkbutton(root,

variable = v,

text = 'checkbutton value',

onvalue = 'python', #设置On的值 offvalue = 'tkinter

RadioButton

#Tkinter教程之Radiobutton篇

#Radiobutton为单选按钮,即在同一组内只能有一个按钮被选中,每当选中组内的一个按钮时,其它的按钮自动改为非选中态,与其他控件不同的是:它有组的概念 '''1.创建一个简单的Radiobutton''' from Tkinter import * root = Tk()

Radiobutton(root,text = 'python').pack() Radiobutton(root,text = 'tkinter').pack() Radiobutton(root,text = 'widget').pack() root.mainloop()

#不指定绑定变量,每个Radiobutton自成一组

'''2.创建一个Radiobutton组,使用绑定变量来设置选中哦的按钮''' from Tkinter import * root = Tk()

#创建一个Radiobutton组,创建三个Radiobutton,并绑定到整型变量v #选中value=1的按钮 v = IntVar() v.set(1)

for i in range(3):

Radiobutton(root,variable = v,text = 'python',value = i).pack()

root.mainloop()

'''3.创建两个不同的组''' from Tkinter import * root = Tk()

vLang = IntVar() vOS = IntVar() vLang.set(1) vOS.set(2)

for v in [vLang,vOS]: #创建两个组

for i in range(3): #每个组含有3个按钮 Radiobutton(root,

variable = v, value = i,

text = 'python' + str(i) ).pack() root.mainloop()

#不同的组,各个按钮互不影响。

'''4.如果同一个组中的按钮使用相同的alue,则这两个按钮的工作方式完全相同''' # -*- coding: cp936 -*- from Tkinter import * root = Tk() v = IntVar() v.set(1)

for i in range(3): Radiobutton(root,

variable = v, value = 1,

text = 'python' + str(i) ).pack() for i in range(3): Radiobutton(root,

variable = v, value = i,

text = 'python' + str(2 + i) ).pack() root.mainloop()

#上述的例子中共有4个alue为1的值,当选中其中的一个时,其他三个也会被选中;选中除了这四个只外的按钮时,四个按钮全部取消

'''5.与Checkbutton类似,每个Radiobutton可以有自己的处理函数,每当点击按钮时,系统会调用相应的处理函数''' # -*- coding: cp936 -*- from Tkinter import * root = Tk() v = IntVar() v.set(0) def r1():

print 'call r1' def r2():

print 'call r2' def r3():

print 'call r3' def r4():

print 'call r4' i = 0

#创建8个按钮,其中两个两个的value值相同 for r in [r1,r2,r3,r4]: Radiobutton(root,

variable = v,

text = 'radio button', value = i,

command = r ).pack() Radiobutton(root,

variable = v,

text = 'radio button', value = i, command = r ).pack() i += 1

root.mainloop()

#注意虽然同时可以选中两个按钮,但每次点击按钮,执行的代码只有一次

'''6.Radiobutton另一个比较实用的属性是indicatoron,缺省情况下为1,如果将这个属性改为0,则其外观是Sunken''' from Tkinter import * root = Tk() v = IntVar() v.set(1)

for i in range(3): Radiobutton(root,

variable = v, indicatoron = 0,

text = 'python & tkinter', value = i ).pack() root.mainloop()

#Radiobutton表示按钮的弹起或按下两种状态

Listbox

#Tkinter教程之Listbox篇

#Listbox为列表框控件,它可以包含一个或多个文本项(text item),可以设置为单选或多选

'''1.创建一个Listbox,向其中添加三个item''' from Tkinter import * root = Tk()

lb = Listbox(root)

for item in ['python','tkinter','widget']: lb.insert(END,item) lb.pack()

root.mainloop()

'''2.创建一个可以多选的Listbox,使用属性selectmaod''' from Tkinter import * root = Tk()

lb = Listbox(root,selectmode = MULTIPLE) for item in ['python','tkinter','widget']: lb.insert(END,item) lb.pack()

root.mainloop()

# 依次点击这三个item,均显示为选中状态。

# 属性MULTIPLE允许多选,每次点击item,它将改变自己的当前选状态,与Checkbox有点相似

'''3.这个属性selectmode还可以设置为BROWSE,可以通过鼠标来移动Listbox中的选中位置(不是移动item),这个属性也是Listbox在默认设置的值,这个程序与1.程序运行的结果的一样的。'''

from Tkinter import * root = Tk()

lb = Listbox(root,selectmode = BROWSE) for item in ['python','tkinter','widget']: lb.insert(END,item) lb.pack()

root.mainloop()

#使用鼠标进行拖动,可以看到选中的位置随之变化。

# 与BROWSE相似 的为SINGLE,但不支持鼠标移动选中位置。 from Tkinter import * root = Tk()

lb = Listbox(root,selectmode = BROWSE) for item in ['python','tkinter','widget']: lb.insert(END,item) lb.pack()

root.mainloop()

#使用鼠标进行拖动,没有任何变化

'''4.使用selectmode = EXPANDED使用Listbox来支持Shift和Control。''' from Tkinter import * root = Tk()

lb = Listbox(root,selectmode = EXTENDED) for item in ['python','tkinter','widget']: lb.insert(END,item) lb.pack()

root.mainloop()

#运行程序,点中“python\,shift + 点击\widget\,会选中所有的item


Tkinter教程(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版小学语文二年级下册8.彩色的梦第二课时公开课教学设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: