基于tkinter的GUI编程
作者: / 2019-11-18 / 浏览次数:

单选框和复选框:

 1 #_*_ coding:utf-8 _*_
 2 import tkinter #导入tkinter模块
 4 root = tkinter.tk
 5 r = tkinter.stringvar #运用stringvar生成字符串变量用于单选框组件
 6 r.set #初始化变量
 7 radio = tkinter.radiobutton #设置单选框显现的文本
12 radio.pack
13 radio = tkinter.radiobutton
18 radio.pack
19 radio = tkinter.radiobutton
24 radio.pack
25 radio = tkinter.radiobutton
30 radio.pack
31 c = tkinter.intvar #运用invar生成整型变量用于复选框
32 c.set
33 check = tkinter.checkbutton #当未选中复选框时,c的值为2
39 check.pack
40 root.mainloop
41 print) #输出r的值
42 print) #输出c的值

绘图:

 1 #_*_ coding:utf-8 _*_
 2 import tkinter #导入tkinter模块
 4 root = tkinter.tk
 5 canvas = tkinter.canvas #指定canvas组件背景色为白色
 9 im = tkinter.photoimage #运用photoimage翻开图片
10 canvas.create_image #运用create_image将图片添加到canvas组件中
11 canvas.create_text #所制作文字的色彩为灰色
14 canvas.create_text
17 canvas.create_polygon
19 canvas.create_oval #设置椭圆用白色填充
21 canvas.create_line #运用create_line制作直线
22 canvas.create_line
23 canvas.create_rectangle #设置矩形线宽为5像素
25 canvas.create_arc #设置圆弧填充色彩为粉丝
28 canvas.create_arc
31 canvas.pack #将canvas添加到主窗口
32 root.mainloop

事情:
鼠标事情、键盘事情、窗口事情,绑定事情的组件:
bind
bind_class
bind_all
参数意义:
sequence:所绑定的事情,有必要以 围住的字符串
func:所绑定的事情处理函数
add:可选参数,为空字符或许 +
classname:所绑定的类
补白:鼠标事情数字1表明鼠标左键、2表明鼠标中键、3表明鼠标右键











键盘事情:


补白:keypress能够用keyrelease替换,表明当按键开释时触发事情。需求留意的是,输入的字母要区别大小写


窗口事情:

相应事情:
事情绑定到函数后,触发时体系将向该函数传递一个event目标的参数,event目标特点:


 1 #_*_ coding:utf-8 _*_
 2 import tkinter
 4 class mybutton: #界说按钮类
 5 def __init__: #类初始化
 6 self.root = root #保存引证值
 7 self.cancas = canvas
 8 self.label = label
 9 if type == 0: #依据类型创立按钮
10 button = tkinter.button
12 elif type == 1:
13 button = tkinter.button
15 elif type == 2:
16 button = tkinter.button
18 else:
19 button = tkinter.button
21 button.pack
22 def drawline: #drawline按钮事情处理函数
23 self.label.text.set
24 self.cancas.setstatus
25 def drawarc: #drawarc按钮事情处理函数
26 self.label.text.set
27 self.cancas.setstatus
28 def drawrec: #drawrec按钮事情处理函数
29 self.label.text.set
30 self.cancas.setstatus
31 def drawoval: #drawoval按钮事情处理函数
32 self.label.text.set
33 self.cancas.setstatus
34 class mycanvas: #界说mycanvas类
35 def __init__: #保存引证值
36 self.status = 0
37 self.draw = 0
38 self.root = root
39 self.canvas = tkinter.canvas
42 self.canvas.pack
43 self.canvas.bind #绑定事情到左键
44 self.canvas.bind #绑定事情到中键
45 self.canvas.bind #绑定事情到右键
46 self.canvas.bind_all #绑定事情到delete键
47 self.canvas.bind_all #绑定事情到d键
48 self.canvas.bind_all #绑定事情到e键
49 def draw: #制作事情处理函数
50 if self.draw == 0: #判别是否绘图
51 self.x = event.x
52 self.y = event.y
53 self.draw = 1
54 else: #依据self.status制作不同的图形
55 if self.status == 0:
56 self.canvas.create_line
58 self.draw = 0
59 elif self.status == 1:
60 self.canvas.create_arc
62 self.draw = 0
63 elif self.status == 2:
64 self.canvas.create_rectangle
66 self.draw = 0
67 else:
68 self.canvas.create_oval
70 self.draw = 0
71 def del: #按下右键或d键则删去图形
72 items = self.canvas.find_all
73 for item in items:
74 self.canvas.delete
75 def exit: #按下中键或e键则退出
76 self.root.quit
77 def setstatus: #设置制作的图形
78 self.status = status
79 class mylabel: #界说标签类
80 def __init__: #类初始化
81 self.root = root #保存引证值
82 self.canvas = canvas
83 self.text = tkinter.stringvar #生成标签引证变量
84 self.text.set
85 self.label = tkinter.label
87 self.label.pack
88 root = tkinter.tk #生成主窗口
89 canvas = mycanvas #生成绘图组件
90 label = mylabel #生成标签
91 mybutton #生成按钮
92 mybutton
93 mybutton
94 mybutton
95 root.mainloop #进入信息循环

信息框:

 1 #_*_ coding:utf-8 _*_
 2 import tkinter
 3 import tkinter.messagebox
 4 def cmd: #按钮信息处理
 5 global n #运用全局变量n
 6 global buttontext
 7 n = n + 1
 8 if n == 1: #判别n的值,显现不同的音讯框
 9 tkinter.messagebox.askokcancel
10 buttontext.set #更改按钮上的文字
11 elif n == 2:
12 tkinter.messagebox.askquestion
13 buttontext.set
14 elif n == 3:
15 tkinter.messagebox.askyesno
16 buttontext.set
17 elif n == 4:
18 tkinter.messagebox.showerror
19 buttontext.set
20 elif n == 5:
21 tkinter.messagebox.showinfo
22 buttontext.set
23 else:
24 n = 0 #将n赋值为0重新开始循环
25 tkinter.messagebox.showwarning
26 buttontext.set
27 n = 0 #为n赋初始值
28 root = tkinter.tk
29 buttontext = tkinter.stringvar #生成相关按钮文字的变量
30 buttontext.set #设置buttontext值
31 button = tkinter.button #设置事情处理函数
34 button.pack
35 root.mainloop #进入信息循环

除了5种信息框,还能够运用tkinter.messagebox._show函数创立其他类型的信息框
tkinter.messagebox._show函数的操控参数:
default:指定信息框的按钮
icon:指定信息框的图标
message:指定信息框所显现的信息
parent:指定信息框的父组件
title:指定信息框的标题
type:指定信息框的类型








对话框:

tkinter.simpledialog模块能够创立规范的输入对话框
tkinter.simpledialog模块能够创立3中类型的对话框:
输入字符串、输入整数和输入浮点数的对话框,对应的函数为askstring、askinteger、和askfloat函数,可选参数有:
title:指定对话框标题
prompt:指定对话框中显现的文字
initiavalue:指定输入框的初始值
运用tkinter.simpledialog模块中的函数创立对话框后,将回来对话框中文本框的值







 1 #_*_ coding:utf-8 _*_
 2 import tkinter
 3 import tkinter.simpledialog
 4 def instr: #按钮事情处理函数
 5 r = tkinter.simpledialog.askstring #指定初始化文本
 8 print #输出回来值
 9 def inint:
10 r = tkinter.simpledialog.askinteger
12 print
13 def inflo:
14 r = tkinter.simpledialog.askfloat
16 print
17 root = tkinter.tk #生成主窗口
18 button1 = tkinter.button #指定按钮事情处理函数
20 button1.pack
21 button2 = tkinter.button
23 button2.pack
24 button3 = tkinter.button
26 button3.pack
27 root.mainloop #进入信息循环

tkinter.filedialog模块能够创立文件翻开与保存文件对话框
tkinter.filedialog模块中的askopenfilename函数能够创立翻开文件对话框
tkinter.filedialog模块中的asksaveasfilename函数能够创立保存文件对话框,具有相同可先参数:
filetypes:指定文件类型
initialdir:指定默许目录
initialfile:指定默许文件
title:指定对话框标题
运用tkfiledialog模块中的函数创立对话框后,将回来文件的完好途径








 1 #_*_ coding:utf-8 _*_
 2 import tkinter
 3 import tkinter.filedialog
 4 def fileopen: #按钮事情处理函数
 5 r = tkinter.filedialog.askopenfilename,]) #指定文件类型为python程序
 7 print #输出回来值
 8 def filesave: #按钮事情处理函数
 9 r = tkinter.filedialog.asksaveasfilename #指定初始化文件
12 print
13 root = tkinter.tk
14 button1 = tkinter.button #指定按钮事情处理函数
16 button1.pack
17 button2 = tkinter.button
19 button2.pack
20 root.mainloop #进入信息循环

tkinter.colorchooser模块能够创立色彩挑选对话框
tkinter.colorchooser模块中的askcolor函数能够创立色彩挑选对话框,可选参数:
initialcolor:指定初始化色彩
title:指定对话框标题
运用tkinter.colorchooser模块中的函数创立对话框后,将回来色彩的rgb值以及能够在python tkinter中运用的色彩字符值





 1 #_*_ coding:utf-8 _*_
 2 import tkinter
 3 import tkinter.colorchooser
 4 def choosecolor: #按钮事情处理函数
 5 r = tkinter.colorchooser.askcolor #创立色彩挑选对话框
 6 print #输出回来值
 7 root = tkinter.tk #生成主窗口
 8 button = tkinter.button #指定按钮事情处理函数
10 button.pack
11 root.mainloop #进入信息循环


自界说对话框:
toplevel组件:



 1 #_*_ coding:utf-8 _*_
 2 import tkinter
 3 import tkinter.messagebox
 4 class mydialog: #界说对话框类
 5 def __init__: #对话框初始化
 6 self.top = tkinter.toplevel #生成toplevel组件
 7 label = tkinter.label #生成标签组件
 8 label.pack
 9 self.entry = tkinter.entry #生成文本框组件
10 self.entry.pack
11 self.entry.focus #让文本框取得焦点
12 button = tkinter.button #设置按钮事情处理函数
14 button.pack
15 def ok: #界说按钮事情处理函数
16 self.input = self.entry.get #获取文本框中的内容,保存为input
17 self.top .destroy #毁掉对话框
18 def get: #回来在文本框输入的内容
19 return self.input
20 class mybutton: #界说按钮类
21 def __init__: #按钮初始化
22 self.root = root #保存父窗口引证
23 if type == 0: #依据类型创立不同按钮
24 self.button = tkinter.button #设置create按钮事情处理函数
27 else:
28 self.button = tkinter.button #设置quit按钮事情处理函数
31 self.button.pack
32 def create: #create按钮的事情处理函数
33 d = mydialog #生成对话框
34 self.button.wait_window #等候对话框完毕
35 tkinter.messagebox.showinfo) #获取对话框中输入值,并输出
36 def quit: #quit按钮的事情处理函数
37 self.root.quit #退出主窗口
38 root = tkinter.tk #生成主窗口
39 mybutton #生成create
40 mybutton #生成quit按钮
41 root.mainloop #进入信息循环

 

【某某业务】网站建设、网站设计、服务器空间租售、网站维护、网站托管、网站优化、百度推广、自媒体营销、微信公众号
如有意向---联系我们
热门栏目
热门资讯

网站建设 网站托管 成功案例 新闻动态 关于我们 联系我们 服务器空间 加盟合作 网站优化

备案号: 

公司地址:江苏省南京市玄武区玄武湖 咨询QQ:9490489 手机: 电话: