tkinter GUI编程(2)
来源:互联网 发布:淘宝上买dnf账号 编辑:程序博客网 时间:2024/05/20 22:27
import tkinterclass MyButton: def __init__(self,root,canvas,label,type): self.root = root self.canvas = canvas self.label = label if type ==0: button=tkinter.Button(root,text='DrawLine',command=self.DrawLine) if type ==1: button=tkinter.Button(root,text='DrawArc',command=self.DrawAre) if type ==2: button=tkinter.Button(root,text='DrawRec',command=self.DrawRec) if type == 3: button=tkinter.Button(root,text='DrawOval',command=self.DrawOval) button.pack(side='left') def DrawLine(self): self.label.text.set('DrawLine') self.canvas.SetStatus(0) def DrawAre(self): self.label.text.set('DrawAre') self.canvas.SetStatus(1) def DrawRec(self): self.label.text.set('DrawRec') self.canvas.SetStatus(2) def DrawOval(self): self.label.text.set('DrawOval') self.canvas.SetStatus(3)class MyCanvas: def __init__(self,root): self.status=0 self.draw=0 self.root=root self.canvas=tkinter.Canvas(root,bg='white',width=600,height=480) self.canvas.bind('<ButtonRelease-1>',self.Draw) self.canvas.bind('<ButtonRelease-2>',self.Exit) self.canvas.bind('<ButtonRelease-3>',self.Del) self.canvas.bind('<Delete>',self.Del) def Draw(self,event): if self.draw==0: self.x=event.x self.y=event.y self.draw=1 else: if self.status==0: self.canvas.create_line(self.x,self.y,event.x,event.y,bg='black') self,draw=0 elif self.status==1: self.canvas.create_arc(self.x,self.y,event.x,event.y) self.draw=0 elif self.status==2: self.canvas.create_retangle(self.x,self.y,event.x,event.y) self,draw=0 elif self.status==3: self.canvas.create_oval(self.x,self.y,event.x,event.y) self.drwa=0 def Del(self,event): items = self.canvas.find_all() for item in items: self.canvas.delete(item) def Exit(self,event): self.root.quit() def SetStatus(self,status): self.status=statusclass MyLabel: def __init__(self,root): self.root=root self.canvas = canvas self.text=tkinter.StringVar() self.text.set('DrawLine') self.label=tkinter.Label(root,textvariable=self.text,fg='red',width=50) self.label.pack(side='left')root = tkinter.Tk()canvas=MyCanvas(root)label=MyLabel(root)MyButton(root,canvas,label,0)MyButton(root,canvas,label,1)MyButton(root,canvas,label,2)MyButton(root,canvas,label,3)root.mainloop()
滴~ 今日打卡!继续昨天的tkinter GUI编程学习
1. 绘制图形
参数:
background 背景色
Borderwidth 边框宽度
Bitmap 位图
Foreground 前景色
Height 高度
Width 款年度
Image 图片
方法:
Create_arc 绘制圆弧
Create_bitmap 绘制位图,支持XBM
Create_image 绘制图片,支持GIF
Create_line 绘制直线
Create_oval 绘制椭圆
Create_polygon 绘制多边形
Create_rectangle 绘制举行
Create_text 绘制文字
Create_window 绘制窗口
Delete 删除绘制的图形
2. 事件处理:
参数:
sequence 绑定的事件
Func 绑定的事件处理函数
Add 可选参数,为空字符或+
className 绑定的类
其中,sequence绑定的事件,必须以<>包围,鼠标事件表示方式(鼠标事件中凡数字可替换成2(表示鼠标中键)或3(表示鼠标右键)):
<Button-1> 左键按下
<ButtonPress-1> 左键按下
<ButtonRelease-1> 左键释放
<B1-Motion> 按住左键拖动
<Enter> 双击左键
<Leave> 鼠标指正离开某一组件区域
<MouseWheel> 滚轮动作
键盘事件:
<KeyPress-A> 按下A键
<Alt-KeyPress-A> 按下Alt+A
<Control-KeyPress-A> 按下Control+
<Shift-KryPress-A> 按下shift+A
<Double-KeyPress-A> 快速按两下A
<Lock-KeyPress-A> Caps Lock打开后按下a键
注意:输入的字母区分大小写,如<KeyPress-A>则要按下大写A才触发事件
窗口事件:
Activate 当组件有不可用转为可用时触发
Configure 当组件大小改变时触发
Deactivate 当组件有可用转为不可用时触发
Destrooy 当组件被销毁时触发
Expose 当组件从被遮挡状态中暴露出来时触发
FocusIn 当组件获得焦点时触发
FocusOut 当组件失去焦点时触发
Map 当组件有隐藏状态变为现实状态时触发
Unmap 当组件有显示状态变为隐藏状态时触发
Property 当窗体的属性被删除或改变时触发
Visibility 当组件变为可视状态时触发
3. 对话框:
Default 指定消息框的按钮
Icon 指定消息框的图标
Message 指定消息框所显示的消息
Parent 指定消息框的父组件
Title 指定消息框的标题
Type 指定消息框的类型
4. 标准对话框
使用simpledialog模块、filedialog模块、colorchooser模块可分别创建标准输入对话框、文件打开和保存文件对话框及颜色选择对话框
其中,simpledialog模块可创建输入字符串、输入整数和输入浮点型三种对话框,分别使用askstring、askinteger和askfloat函数,有以下几个相同的可选参数:
Title 指定对话框标题
Prompt 指定对话框中显示的文字
Initialvalue 指定输入框的初始值
Filedialog模块创建的标准文件对话框有以下几个可选参数:
Filetypes 指定文件类型
Initialdir 指定默认目录
Initialfile 指定默认文件
Title 指定对话框标题
颜色选择对话框有以下几个可选参数:
Initialcolor 指定初始化颜色
Title 指定对话框标题
最后,还是贴个今天码的代码
- tkinter GUI编程(2)
- tkinter GUI编程(1)
- 初识GUI编程之tkinter(1)
- python GUI编程(Tkinter)(高级教程)
- Python GUI编程(Tkinter)
- Python GUI编程(Tkinter)
- Python GUI编程(Tkinter)
- Python GUI编程(Tkinter)
- Python GUI编程(Tkinter)
- python GUI编程(Tkinter)
- python GUI编程(Tkinter)
- python GUI编程(Tkinter)
- python GUI编程(Tkinter)
- python GUI编程(Tkinter)
- Python GUI tkinter编程
- Python GUI编程(Tkinter)
- Python GUI编程(Tkinter)
- python—Tkinter GUI编程
- 如何利用JFinal-weixin写公众号
- scrapy 入门
- 『机器学习实战』决策树
- 机器学习和数据挖掘1——来使用pip.exe
- android安装Xposed框架--魅族系列手机
- tkinter GUI编程(2)
- Java设计模式-装饰模式
- 好东西来了!2017云栖大会300+份重磅资料下载
- c语言中 #define的基本用法
- 在OpenBSD中安装Apache
- 超级好用Android网络加载图片库
- CSV文件的读取
- hwdglasses home page push
- CXF系列一:创建一个简单的web service