python中gui编程的模块之一:tkinter(python3.x中是tkinter,小写的t)
一、tkinter是python的标准gui库,tkinter是内置在python的安装包之中的,所以安装好python之后就可以import导入tkinter模块了
二、创建一个GUI程序
- 1、导入 Tkinter 模块 from tkinter import *
- 2、创建窗口 top=Tk()——实例化主窗口,,如果要实例化子窗口,用toplevel()
- 3、创建控件(详看三) canvas=Canvas(top,width=300,height=300,bg='white') label=Label(top,bg='red',text='文字',fg='black')
- 4、将控件放到窗口里面去(指定这个控件的 master, 即这个控件属于哪一个) canvas.pack() lable.pack()
- 5、进入消息循环(告诉 GM(geometry manager) 有一个控件产生了。) mainloop()
三、Tkinter 控件
Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。
目前有15种Tkinter的部件。我们提出这些部件以及一个简短的介绍,在下面的表
控件 | 描述 |
---|---|
Button | 按钮控件;在程序中显示按钮。 |
Canvas | 画布控件;显示图形元素如线条或文本 |
Checkbutton | 多选框控件;用于在程序中提供多项选择框 |
Entry | 输入控件;用于显示简单的文本内容 |
Frame | 框架控件;在屏幕上显示一个矩形区域,多用来作为容器 |
Label | 标签控件;可以显示文本和位图 |
Listbox | 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户 |
Menubutton | 菜单按钮控件,用于显示菜单项。 |
Menu | 菜单控件;显示菜单栏,下拉菜单和弹出菜单 |
Message | 消息控件;用来显示多行文本,与label比较类似 |
Radiobutton | 单选按钮控件;显示一个单选的按钮状态 |
Scale | 范围控件;显示一个数值刻度,为输出限定范围的数字区间 |
Scrollbar | 滚动条控件,当内容超过可视化区域时使用,如列表框。. |
Text | 文本控件;用于显示多行文本 |
Toplevel | 容器控件;用来提供一个单独的对话框,和Frame比较类似 |
Spinbox | 输入控件;与Entry类似,但是可以指定输入范围值 |
PanedWindow | PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。 |
LabelFrame | labelframe 是一个简单的容器控件。常用与复杂的窗口布局。 |
tkMessageBox | 用于显示你应用程序的消息框。 |
标准属性
标准属性也就是所有控件的共同属性,如大小,字体和颜色等等。
属性 | 描述 |
Dimension | 控件大小; |
Color | 控件颜色; |
Font | 控件字体; |
Anchor | 锚点; |
Relief | 控件样式; |
Bitmap | 位图; |
Cursor | 光标; |
几何管理
Tkinter控件有特定的几何状态管理方法,管理整个控件区域组织,一下是Tkinter公开的几何管理类:包、网格、位置
几何方法 | 描述 |
pack() | 包装; |
grid() | 网格; |
place() |
位置; |
四、canvas画布控件的常用方法
canvas.create_rectangle(40,40,100,100,dash=(4,4)) #前4个参数表示:矩形左上角坐标(40,40),右下角坐标(100,100),dash为4表示虚线长度为4?
canvas.create_oval(40,40,100,100) #前4个参数表示:圆形外围的矩形左上角坐标(40,40),右下角坐标(100,100)
canvas.create_oval(40,40,100,70) #画椭圆,也是圆的一种
canvas.create_line(40,40,40,100,width=4,fill='red')
- create_arc:绘制弧。
- create_bitmap:绘制位图。
- create_image:绘制图片。
- create_line():绘制直线。
- create_polygon:绘制多边形。
- create_text:绘制文字。
- create_window:绘制组件。
四、举例:
1、画一个简单的窗口
import Tkinter
top = Tkinter.Tk() #导入模块直接是from tkinter import *时,创建控件就直接Tk()即可
top.mainloop() # 进入消息循环
显示结果:
2、给上面的窗口中插入2个列表
from tkinter import * #导入库
top=Tk() #创建对象
l1= ['C','python','php','html','SQL','java'] #新建2个列表
l2= ['CSS','jQuery','Bootstrap']
list1=Listbox(top) #创建2个列表控件
list2=Listbox(top)
for i in l1:
list1.insert(0,i)
for j in l2:
list2.insert(0,j)
list1.pack() #将小部件放到主窗口
list2.pack()
top.mainloop() #进入消息循环 显示结果:
3、画矩形、圆、椭圆、直线
from tkinter import *
top=Tk()
canvas=Canvas(top,width=300,height=300,bg='green') #创建了一个画布控件
canvas.pack(expand=YES,fill=BOTH) #创建控件后必须要加这句pack(),表示把画布放到窗口里面去,否则打印出来只有一个白色的窗口
canvas.create_rectangle(40,40,100,100,dash=(4,4)) #前4个参数表示:矩形左上角坐标(40,40),右下角坐标(100,100),dash为4表示虚线长度为4?
canvas.create_oval(40,40,100,100) #前4个参数表示:圆形外围的矩形左上角坐标(40,40),右下角坐标(100,100)
canvas.create_oval(40,40,100,70) #画椭圆,也是圆的一种
canvas.create_line(40,40,40,100,width=4,fill='red') #画直线,直线宽度是1
mainloop()
显示结果:
改为白色背景,红色的填充
4、Label标签控件
from tkinter import *
top=Tk()
label=Label(top,bg='red',text='文字',fg='black') #bg是标签的背景色,text是指标签上的字,fg是文字的颜色
label.pack(padx=10,pady=50,side=LEFT)
mainloop()
显示结果:
5、实例化多窗口:实例化主窗口用tkinter.Tk(),,,实例化其他子窗口用tkinter.Topleval()
from tkinter import *
top=Tk() #实例化一个主窗口
toplevel1=Toplevel() #实例化2个子窗口
toplevel2=Toplevel()
label=Label(toplevel2,bg='red',text='文字',fg='black') #bg是标签的背景色,text是指标签上的文字,fg是文字的颜色
label.pack(padx=10,pady=50,side=LEFT)
mainloop()
显示结果:
6、指定窗口的名字、大小和定位、背景色
python中gui编程的模块之一:tkinter(python3.x中是tkinter,小写的t)的更多相关文章
- Python的GUI编程(TK)
TK在大多数 Unix平台.Windows平台和Macintosh系统都是预装好的,TKinter 模块是 Tk GUI 套件的标准Python接口.可实现Python的GUI编程. Tkinter模 ...
- Python之GUI编程(Tkinter))
不足之处,还请海涵,请指出不足.本人发布过的文章,会不断更改,力求减少错误信息. 一.重要放在开头:模块 如出现这种错误 ModuleNotFoundError: No module named 'n ...
- python之GUI编程-tkinter学习
推荐几个学习网址:https://www.cnblogs.com/shwee/p/9427975.html https://cloud.tencent.com/developer/section/13 ...
- Python笔记_第四篇_高阶编程_GUI编程之Tkinter_1.使用Python进行GUI编程的概述
1. GUI概述: GUI全称为Graphical User Interface,叫做图形用户界面,也是一种交互方式(Interaction).早期计算机使用的命令行界面(command-line i ...
- Python进阶--GUI编程
一.图形用户图面(GUI编程) 1. wxpython下载和安装: 下载url: http://wxpython.org/download.php 2.创建示例GUI应用程序 : ①开始需要导入wx ...
- 【Python】Python PYQT4 GUI编程与exe打包
本篇文章承接http://www.cnblogs.com/zhang-zhi/p/7646923.html#3807385,上篇文章描述了对文本文件的简单处理,本章节结合PYQT4实现该功能的GUI图 ...
- python之GUI编程(二)win10 64位 pygame的安装
pygame的下载网址: http://www.pygame.org/download.shtml 我下载了第一个 很显然,安装的时候出现了如图中的尴尬,更改了安装目录后,在Python shell中 ...
- Python的网络编程socket模块
(1)利用socket进行简单的链接 Python里面的socket支持UDP.TCP.以及进程间的通信,socket可以把我们想要发送的东西封装起来,发送过去,然后反解成原来的样子,事实上网路通信可 ...
- python之Gui编程事件绑定 2014-4-8
place() 相对定位与绝对定位 相对定位 拖动会发生变化 绝对定位不会from Tkinter import *root = Tk()# Absolute positioningButton(ro ...
随机推荐
- JVM中对象模型及相应名词概念
JVM中对象模型及相应名词概念 java对象在jvm中的模型是OOP-Klass 模型: klass klass对应元数据,包括常量池.字段.方法等.是在加载class阶段创建instanceKlas ...
- SpringMVC4——视图、视图解析器、国际化
视图.视图解析器.国际化 视图的顶级接口:View 视图解析器:ViewResolver 常见的视图和解析器: InternalResourceView.InternalResourceViewR ...
- Java callback回调
package com.callback; public interface CSCallBack { public void process(String status); } package co ...
- 【java】java获取JVM启动参数 System.getProperty
java获取JVM启动参数 System.getProperty取 -D后的key即可 public class Test { public static void main(String[] arg ...
- Gulp的安装及用法
1.安装淘宝镜像 npm install cnpm -g --registry=https://registry.npm.taobao.org cnpm -v 2.生成项目描述文件 package.j ...
- 轻松解除官方对博客后台设置页面3段html代码的限制:iframe alert flagcounter etc.的禁用
今天我发现我的flagcounter不能用了 iframe也不能用了,无奈╮(╯_╰)╭ 第一反应是Ctrl U viewsource看看源码出了什么问题 结果竟然是这样, 因为页首和侧边栏的html ...
- Hive中的用户自定义函数
1.1 关于自定义函数 1)Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展. 2)当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考 ...
- Hello,Vue
Vue版本 Vue完整版 有编译器compiler,体积大功能多,可以直接把html字符串变成DOM节点 视图,此处为html字符串,写在index.html里或者写在new Vue构造选项templ ...
- 牛客网PAT练兵场-查验身份证
题解:模拟题,直接算 题目地址:https://www.nowcoder.com/questionTerminal/779a72a420744b1d9c0ec7b7a8dd8f39 /** * *作者 ...
- IDEA常用快捷键Mac os和Windows对照--用到了就会更新
之前公司用了一段的MacBookPro,离职后自己入手了一台MacBookPro.但是现在的公司中使用的电脑是古老的win7,两个系统的键盘有些许差别,而且快捷键也略有不同.最近因为疫情影响,在家远程 ...