一、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)的更多相关文章

  1. Python的GUI编程(TK)

    TK在大多数 Unix平台.Windows平台和Macintosh系统都是预装好的,TKinter 模块是 Tk GUI 套件的标准Python接口.可实现Python的GUI编程. Tkinter模 ...

  2. Python之GUI编程(Tkinter))

    不足之处,还请海涵,请指出不足.本人发布过的文章,会不断更改,力求减少错误信息. 一.重要放在开头:模块 如出现这种错误 ModuleNotFoundError: No module named 'n ...

  3. python之GUI编程-tkinter学习

    推荐几个学习网址:https://www.cnblogs.com/shwee/p/9427975.html https://cloud.tencent.com/developer/section/13 ...

  4. Python笔记_第四篇_高阶编程_GUI编程之Tkinter_1.使用Python进行GUI编程的概述

    1. GUI概述: GUI全称为Graphical User Interface,叫做图形用户界面,也是一种交互方式(Interaction).早期计算机使用的命令行界面(command-line i ...

  5. Python进阶--GUI编程

    一.图形用户图面(GUI编程) 1. wxpython下载和安装: 下载url: http://wxpython.org/download.php 2.创建示例GUI应用程序 : ①开始需要导入wx ...

  6. 【Python】Python PYQT4 GUI编程与exe打包

    本篇文章承接http://www.cnblogs.com/zhang-zhi/p/7646923.html#3807385,上篇文章描述了对文本文件的简单处理,本章节结合PYQT4实现该功能的GUI图 ...

  7. python之GUI编程(二)win10 64位 pygame的安装

    pygame的下载网址: http://www.pygame.org/download.shtml 我下载了第一个 很显然,安装的时候出现了如图中的尴尬,更改了安装目录后,在Python shell中 ...

  8. Python的网络编程socket模块

    (1)利用socket进行简单的链接 Python里面的socket支持UDP.TCP.以及进程间的通信,socket可以把我们想要发送的东西封装起来,发送过去,然后反解成原来的样子,事实上网路通信可 ...

  9. python之Gui编程事件绑定 2014-4-8

    place() 相对定位与绝对定位 相对定位 拖动会发生变化 绝对定位不会from Tkinter import *root = Tk()# Absolute positioningButton(ro ...

随机推荐

  1. JVM中对象模型及相应名词概念

    JVM中对象模型及相应名词概念 java对象在jvm中的模型是OOP-Klass 模型: klass klass对应元数据,包括常量池.字段.方法等.是在加载class阶段创建instanceKlas ...

  2. SpringMVC4——视图、视图解析器、国际化

    视图.视图解析器.国际化 视图的顶级接口:View 视图解析器:ViewResolver   常见的视图和解析器: InternalResourceView.InternalResourceViewR ...

  3. Java callback回调

    package com.callback; public interface CSCallBack { public void process(String status); } package co ...

  4. 【java】java获取JVM启动参数 System.getProperty

    java获取JVM启动参数 System.getProperty取 -D后的key即可 public class Test { public static void main(String[] arg ...

  5. Gulp的安装及用法

    1.安装淘宝镜像 npm install cnpm -g --registry=https://registry.npm.taobao.org cnpm -v 2.生成项目描述文件 package.j ...

  6. 轻松解除官方对博客后台设置页面3段html代码的限制:iframe alert flagcounter etc.的禁用

    今天我发现我的flagcounter不能用了 iframe也不能用了,无奈╮(╯_╰)╭ 第一反应是Ctrl U viewsource看看源码出了什么问题 结果竟然是这样, 因为页首和侧边栏的html ...

  7. Hive中的用户自定义函数

    1.1 关于自定义函数 1)Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展. 2)当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考 ...

  8. Hello,Vue

    Vue版本 Vue完整版 有编译器compiler,体积大功能多,可以直接把html字符串变成DOM节点 视图,此处为html字符串,写在index.html里或者写在new Vue构造选项templ ...

  9. 牛客网PAT练兵场-查验身份证

    题解:模拟题,直接算 题目地址:https://www.nowcoder.com/questionTerminal/779a72a420744b1d9c0ec7b7a8dd8f39 /** * *作者 ...

  10. IDEA常用快捷键Mac os和Windows对照--用到了就会更新

    之前公司用了一段的MacBookPro,离职后自己入手了一台MacBookPro.但是现在的公司中使用的电脑是古老的win7,两个系统的键盘有些许差别,而且快捷键也略有不同.最近因为疫情影响,在家远程 ...