Python图形界面编程---Tkinter模块基础
2016-07-20 14:32
936 查看
Python本身语法优美, 但一旦到了GUI就丑陋得不行.
Python有很多GUI开发系统PyQt,PyGTK,wxPython,TkInter….等等
结构形如:Python+HTML5+JS+Python
商业上PyQt用的多,这里只介绍Tkinter。
使用Tkinter的步骤:
导入Tkinter
创建顶层窗口
在顶层上创建其他控件
控件与后台代码链接
进入主程序循环事件
具体的控件使用方式 文档地址:http://zetcode.com/gui/tkinter/
博客:http://www.cnblogs.com/kaituorensheng/p/3287652.html
demo1:标签按钮
demo2:进度条
Python有很多GUI开发系统PyQt,PyGTK,wxPython,TkInter….等等
最近还有一种解决办法,使用html5搭建界面,加上一个web框架
结构形如:Python+HTML5+JS+Python
商业上PyQt用的多,这里只介绍Tkinter。
Tkinter
Tkinter是TK在python里的一个接口。TK是一个移植性高的工具集。使用Tkinter的步骤:
导入Tkinter
创建顶层窗口
在顶层上创建其他控件
控件与后台代码链接
进入主程序循环事件
#coding:utf-8 import Tkinter top=Tkinter.Tk()#创建顶层窗口 label=Tkinter.Label(top,text="hell \nworld") label.pack() Tkinter.mainloop()#加入服务
具体的控件使用方式 文档地址:http://zetcode.com/gui/tkinter/
博客:http://www.cnblogs.com/kaituorensheng/p/3287652.html
组件名 | 说明 | 用法 | 属性(参数) |
---|---|---|---|
label | 标签 | Label(根对象, [属性列表]) | text:要现实的文本bg:背景颜色font:字体(颜色, 大小)width:控件宽度height:控件高度 |
Frame | 在屏幕上创建一块矩形区域,多作为容器来布局窗体 | Frame(根对象, [属性列表]) | 同上 |
Entry | 创建单行文本框 | 创建:lb =Entry(根对象,[属性列表]) 绑定变量: var=StringVar() lb=Entry(根对象, textvariable = var) 获取文本框中的值:var.get()设置文本框中的值 var.set(item1) | 同上 |
Text | 向该空间内输入文本 | t = Text(根对象)插入:t.insert(mark, 内容)删除:t.delete(mark1, mark2)其中,mark可以是行号,或者特殊标识,例如•INSERT:光标的插入点CURRENT:鼠标的当前位置所对应的字符位置 •END:这个Textbuffer的最后一个字符 •SEL_FIRST:选中文本域的第一个字符,如果没有选中区域则会引发异常 •SEL_LAST:选中文本域的最后一个字符,如果没有选中区域则会引发 异常 | 同上 |
Button | 创建按钮 | Button(根对象, [属性列表]) | 同上 |
Listbox | 列表控件,可以含有一个或多个文本想,可单选也可多选 | • 创建:lb = ListBox(根对象, [属性列表]) • 绑定变量 var=StringVar() lb=ListBox(根对象, listvariable = var)比如 • 得到列表中的所有值 var.get() • 设置列表中的所有值 var.set((item1, item2, …..)) • 添加:lb.insert(item) • 删除:lb.delete(item,…) • 绑定事件 lb.bind(‘<\ButtonRelease-1>’, 函数) • 获得所选中的选项 lbl.get(lb.curselection()) | 同上 |
Scrollbar | 在屏幕上创建一块矩形区域,多作为容器来布局窗体 | Frame(根对象, [属性列表]), 最长用的用法是和别的控件一起使用. | 同上 |
… … … | … … … | …. …. …. | ….. ….. ….. |
#coding:utf-8 import Tkinter top=Tkinter.Tk()#创建顶层窗口 label=Tkinter.Label(top,text="hello \nworld") label.pack() quit=Tkinter.Button(top,text='quit',command=top.quit,bg='red',fg='white') quit.pack(fill=Tkinter.X,expand=1) Tkinter.mainloop()#加入服务
demo2:进度条
#coding:utf-8 from Tkinter import * def resize(ev=None): label.config(font='Helvetica -%d bold'%scale.get()) top=Tk() top.geometry('250x150')#设置大小 label=Label(top,text='Hello World!',font='Helvetica -12 bold') label.pack(fill=Y,expand=1) #进度条控件 scale=Scale(top,from_=10,to=40,orient=HORIZONTAL,command=resize)#10-40 scale.set(12)#初始位置 scale.pack(fill=X,expand=1) quit=Button(top,text="QUIT",command=top.quit,activeforeground='white',activebackground='red')#Button quit.pack() mainloop()
相关文章推荐
- python 类成员变量
- Python爬虫----实例: 抓取百度百科Python词条相关1000个页面数据
- python学习第八天 -- 迭代
- Python 验证码识别
- Python字符编码详解
- Python批量删除特定文件
- Python isdigit()方法
- Python入门:字符转换为二进制及进制之间转换
- pythonj基础之 多线程
- Python 写文件
- Python读取写入TXT正确姿势
- Python基础之 urllib模块urlopen()与urlretrieve()的使用方法详解。
- [numpy]matrix和array的乘和加
- python基础之 re(正则表达式)模块学习
- Python基础之 正则表达式指南
- Python 读文件
- python基础之 Python os._exit() sys.exit() exit()区别
- python多线程(3)---生产者与消费者(线程通信)和Queue模块
- python基础之 sys.argv[]用法
- Python列表数组字典