赞
踩
tkinter提供了用以处理相关事件的机制,处理函数可被绑定给各个控件的各种事件。
widget.bind(event,handler)
,如果相关事件发生,handler函数就会被触发,事件对象event会传递给handler函数
用法:
canvas=Canvas(root,bg="green",height=300,width=300) #定义画布组件
def draw_rectangle(event):
'''定义绑定的事件'''
canvas.create_rectangle(event.x,event.y,event.x+20,event.y+20)
print(event.type)
print(event.x)
print(event.x_root)
canvas.bind("<Double-Button-1>",draw_rectangle) #将组件与事件绑定,event为参数自动传递
注意
event.x_root
显示的是距离整个电脑窗口的距离,类型为int
组件对象的绑定
通过``command`属性绑定(适合简单的不需要获取event对象的时候)
Button(root,text="login",command=login_in)
通过bind()
方法绑定(可以获取event对象)
c1=Canvas();c1.bind("<Button-1>",draw_line)
组件类的绑定
通过调用对象的bind_class
函数,将该组件类的所有组件绑定事件:
w.bind_class("Widget","event",eventhandler)
比如:`btn01.bind_class(“Button”,"",function)
OptionMenu用来做多选一,选中的项在顶部显示
var1=StringVar()
var1.set("python")
optionmenu=OptionMenu(root,var1,"python","php","c++","java","javascript")
optionmenu.pack()
通过获取变量
var1
的值来得到optionmenu
选择的值
常用options:
from_ :起始值
to :终值
length :长度,以像素为单位
tickinterval : 标记值,意思是每个多少tickinterval标记一次值
orient 滑块方向 ,默认是垂直方向,改为水平方向:orient=HORIZONTAL
command :对应事件
resolution :精度
lable : 滑条名称
注意:Scale的command会默认传递滑块的值
Scale测试:通过滑块调整字体大小
from tkinter import *
root=Tk()
root.title("tkinter test")
root.geometry("600x400")
lb=Label(root,text="this is a tkinter test")
lb.pack()
def set_font(value):
print("滑块的值:",value)
lb.config(font=("黑体",value),text="you have choose "+str(value))
scale=Scale(root,length=200,from_=1,to=20,tickinterval=4,orient=HORIZONTAL,command=set_font)
scale.pack()
root.mainloop()
颜色选择框可以设置背景色、前景色、画笔颜色、字体颜色等等
使用前需要导入模块:from tkinter import colorchooser
root=Tk()
root.title("tkinter test")
root.geometry("300x200")
def select_color():
s1=colorchooser.askcolor(color="red",title="选择颜色") #color:选择默认颜色,title:弹出颜色选择器窗口的标题
root.config(bg=s1[1]) #将根窗口背景颜色设置为rgb的16进制模式
print(s1)
btn=Button(root,text="选择背景颜色",command=select_color)
btn.pack()
root.mainloop()
最终打印值为一个元组((255.99609375, 0.0, 0.0), ‘#ff0000’),代表的是默认颜色的rgb值
文件对话框可以实现可视化操作文件,将文件、目录的信息传入到程序中。
文件对话框的常用函数:
这些函数都在filedialog
模块下,使用前需导入from tkinter import filedialog
命名参数options的常见值:
注意:上述参数中初始目录和初始文件的参数打错了,应该是initialdir
和initialfile
用法:
from tkinter import filedialog as fd
s1=fd.askopenfilename(title="打开的文件",initialdir="d://python-test", filetypes=[("文本文件",".txt"),("我爬取的网易云音乐",".mp3")])
s1是选择的文件路径
simpledialog(简单对话框)包含如下常用函数:
使用方法:
from tkinter.simpledialog import *
s1=askinteger(title="输入",prompt="请输入分数",initialvalue=60,minvalue=0,maxvalue=100)
结果返回输入的值
使用前导入模块from tkinter import messagebox
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。