(转)]PYTHON Tkinter GUI
import Tkinter
root=Tkinter.Tk()
label=Tkinter.Label(root,text='hello ,python')
label.pack() #将LABEL组件添加到底框上
button1=Tkinter.Button(root,text='BUTTON1')
button1.pack(side=Tkinter.LEFT)
button2=Tkinter.Button(root,text='BUTTON2')
button2.pack(side=Tkinter.RIGHT)
root.mainloop()
#默认 pack()将向下添加组件。
import Tkinter
root=Tkinter.Tk()
button1=Tkinter.Button(root,anchor=Tkinter.E,height=5,width=40,text='BUTTON1')
button1.pack()
button2=Tkinter.Button(root,text='BUTTON2',bg='blue')
button2.pack()
button3=Tkinter.Button(root,text='BUTTOON3',fg='red')
button3.pack()
button4=Tkinter.Button(root,text='BUTTOON4',state=Tkinter.DISABLED)
button4.pack()
root.mainloop()
import Tkinter
root=Tkinter.Tk()
r=Tkinter.StringVar()
r.set('1')
radio=Tkinter.Radiobutton(root,variable=r,value='1',text='Radio1')
radio.pack()
radio=Tkinter.Radiobutton(root,variable=r,value='2',text='Radio2')
radio.pack()
radio=Tkinter.Radiobutton(root,variable=r,value='3',text='Radio3')
radio.pack()
radio=Tkinter.Radiobutton(root,variable=r,value='4',text='Radio4')
radio.pack()
radio=Tkinter.Radiobutton(root,variable=r,value='5',text='Radio5')
radio.pack()
c=Tkinter.IntVar()
c.set(1)
check=Tkinter.Checkbutton(root,text='check button',variable=c,onvalue=1,offvalue=2)
check.pack()
root.mainloop()
print c.get()
print r.get()
import Tkinter
class 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)
elif type==1:
button=Tkinter.Button(root,text='DrawArc',command=self.DrawArc)
elif type==2:
button=Tkinter.Button(root,text='DrawRect',command=self.DrawRect)
else:
button=Tkinter.Button(root,text='DrawOval',command=self.DrawOval)
button.pack(side='left')
def DrawLine(self):
self.label.text.set('Draw Line')
self.canvas.SetStatus(0)
def DrawArc(self):
self.label.text.set('Draw Arc')
self.canvas.SetStatus(1)
def DrawRect(self):
self.label.text.set('Draw Rect')
self.canvas.SetStatus(2)
def DrawOval(self):
self.label.text.set('Draw Oval')
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.pack()
self.canvas.bind('<ButtonRelease-1>',self.Draw)
self.canvas.bind('<Button-2>',self.Exit)
self.canvas.bind('<Button-3>',self.Del)
self.canvas.bind_all('<Delete>',self.Del)
self.canvas.bind_all('<KeyPress-d>',self.Del)
self.canvas.bind_all('<KeyPress-e>',self.Exit)
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)
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_rectangle(self.x,self.y,event.x,event.y)
self.draw=0
else:
self.canvas.create_oval(self.x,self.y,event.x,event.y)
self.draw=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=status
class MyLabel:
def __init__(self,root):
self.root=root
self.canvas=canvas
self.text=Tkinter.StringVar()
self.text.set('Draw Line')
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()
(转)]PYTHON Tkinter GUI的更多相关文章
- python tkinter GUI绘制,以及点击更新显示图片
tkinter 绘制GUI简单明了,制作一些简单的GUI足够,目前遇到的一个问题是不能同时排列显示多幅图片(目前没找到同时显示解决方法), 退而求其次,改成增加一个update按钮,每次点下按钮自动更 ...
- 以Tkinter模块来学习Python实现GUI(图形用户界面)编程
tk是什么:它是一个图形库,支持多个操作系统,使用tcl语言开发的.tkinter是Python内置的模块, 与tk类似的第三方图形库(GUI库)还有很多,比如:Qt,GTK,wxWidget,wxP ...
- python gui tkinter快速入门教程 | python tkinter tutorial
本文首发于个人博客https://kezunlin.me/post/d5c57f56/,欢迎阅读最新内容! python tkinter tutorial Guide main ui messageb ...
- Python:GUI库tkinter(三)
这一章是对前两章的总结: Python:GUI库tkinter(一) Python:GUI库tkinter(二) 前两章是对控件的介绍,第一章可以知道各控件使用时的具体参数,第二章以具体的例子展示了每 ...
- Python:GUI库tkinter(一)
学习自: Python GUI 编程(Tkinter) | 菜鸟教程 TkDocs_官方文档 1.几个常用的Python GUI库 tkinter:Python的标准Tk GUI工具包的接口. wxP ...
- 关于python写GUI桌面应用的一些研究结果
研究了一下python开发GUI桌面应用的解决方案,研究结果记录如下: EasyGui:控件极为简单,连个基本的grid.list组件都没有,不适合商用,甚至是普通的应用都不行,放弃! Tkinter ...
- Python tkinter调整元件在窗口中的位置与几何布局管理
Tkinter中的GUI总是有一个root窗口,不管你是主动或者别动获得.主窗口就是你的程序开始运行的时候创建的,在主窗口中你通常是放置了你主要的部件.另外,Tkinter脚本可以依据需要创建很多独立 ...
- 《Python 数据库 GUI CGI编程》
本文地址:http://www.cnblogs.com/aiweixiao/p/8390417.html 原文地址 点击关注微信公众号 wenyuqinghuai 1.写在前边 上一次,我们介绍了Py ...
- Python的GUI编程(TK)
TK在大多数 Unix平台.Windows平台和Macintosh系统都是预装好的,TKinter 模块是 Tk GUI 套件的标准Python接口.可实现Python的GUI编程. Tkinter模 ...
随机推荐
- double发生精度丢失的解决办法
发生精度丢失的原因: 个人理解:机器在运行时,使用2进制形式的计数方式,而我们日常生活中的计算是10进制的,对于整数的加减乘除,double还能适用,但是对于有小数的,则容易发生精度丢失,即用2进制表 ...
- MySQL与RAID
RAID在mysq中适用场景 raid0:由于性能高和成本低,以及基本没有数据恢复的能力,而且它比单片磁盘损坏的概率要高.建议只在不担心数据丢失的情况下使用,如备库(slave)或者某些原因" ...
- solr管理界面下统计多个时间段的数据 facet.query
在Raw Query Parameters参数里面输入时间段即可 如下图所示: facet.query=publishTime:[2017-06-05T00:00:00Z TO 2017-06-07T ...
- 分布式数据存储 之 Redis(二) —— spring中的缓存抽象
分布式数据存储 之 Redis(二) -- spring中的缓存抽象 一.spring boot 中的 StringRedisTemplate 1.StringRedisTemplate Demo 第 ...
- 【学习笔记】深入理解js原型和闭包(6)——继承
为何用“继承”为标题,而不用“原型链”? 原型链如果解释清楚了很容易理解,不会与常用的java/C#产生混淆.而“继承”确实常用面向对象语言中最基本的概念,但是java中的继承与javascript中 ...
- 编译安装LAMP之php(fpm模块)
一,准备工作实验平台为CentOS6.6,先下载所需的安装包,我使用的是php-5.4.26.tar.gz,下载地址 http://mirrors.sohu.com/php/ 编译安装的目录:/usr ...
- PMP项目管理学习笔记(3)——过程框架
所有项目,不论大小,都可以分解为过程组: 如果项目规模很大,可以分阶段管理,每个阶段都要经过上面的五个过程组,从启动到收尾. 阶段的类型: 顺序阶段: 一个阶段完成后进入下个阶段. 重叠阶段: 有时需 ...
- Day.js 是一个轻量的处理时间和日期的 JavaScript 库
Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果您曾经用过 Moment.js, 那么您已经知道如何使用 Day.js ...
- 样式化复选框(Styling Checkbox)
原理:https://www.tuicool.com/articles/y67jee 表现:http://www.freejs.net/demo/381/index.html https://www. ...
- java根据freeMark模板生成内容
根据ftl模板生成文件内容可以用来生成代码模板,如下所示: aa.ftl name : ${name} age : ${age} aa.java package mall_tools; import ...