小朋友学Python(24):Tkinter图形界面编程

Tkinter 是 Python 的标准 GUI (Graphic User Interface)库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。 由于 Tkinter 内置到 python 的安装包中,只要安装好 Python 之后就能 import Tkinter 库。

例1:窗口

import Tkinter
top = Tkinter.Tk()
top.mainloop()

这里介绍一下mainloop。 mainloop就是进入到事件(消息)循环。一旦检测到事件,就刷新组件。 譬如你输入一个字符,就要立即在光标那个位置显示出来(前提是你选中了文本框,也就是鼠标在文本框这个图案的范围内单击过)。 又譬如你点击了浏览器的首页按钮,那么就要清除你浏览器里的全部部件,然后重新绘制主页的布局和内容。

运行结果:

1.png

例2:列表

from Tkinter import *           
root = Tk()                     
computerLanguages = ['C','C++','Python','Java']
humanLanguages  = ['Chinese','English','Spanish']
listbox1 = Listbox(root)          
listbox2 = Listbox(root)
for item in computerLanguages:                
    listbox1.insert(0,item)
for item in humanLanguages:              
    listbox2.insert(0,item)
listbox1.pack()                    
listbox2.pack()
root.mainloop()  

运行结果:

2.png

例3:按纽

from Tkinter import *  
def clickButton():  
    print('hello button')  
root = Tk()  
Button(root, text='MyButton', command = clickButton).pack()  
root.mainloop()  

说明: 这里的clickButton是一个回调函数。当你点击按扭的时候,回调函数会被调用,在终端里打印出“hello button”。

运行结果:

3.png

4.png

Tkinter 组件

Tkinter的提供各种控件,如按钮,标签和文本框等。 目前有15种Tkinter控件。下表作了简单的介绍:

控件

描述

Button

按钮控件;在程序中显示按钮。

Canvas

画布控件;显示图形元素如线条或文本

Checkbutton

多选框控件;用于在程序中提供多项选择框

Entry

输入控件;用于显示简单的文本内容

Frame

框架控件;在屏幕上显示一个矩形区域,多用来作为容器

Label

标签控件;可以显示文本和位图

Listbox

列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户

Menubutton

菜单按钮控件,由于显示菜单项。

Menu

菜单控件;显示菜单栏,下拉菜单和弹出菜单

Message

消息控件;用来显示多行文本,与label比较类似

Radiobutton

单选按钮控件;显示一个单选的按钮状态

Scale

范围控件;显示一个数值刻度,为输出限定范围的数字区间

Scrollbar

滚动条控件,当内容超过可视化区域时使用,如列表框。.

Text

文本控件;用于显示多行文本

Toplevel

容器控件;用来提供一个单独的对话框,和Frame比较类似

Spinbox

输入控件;与Entry类似,但是可以指定输入范围值

PanedWindow

窗口布局管理的插件,可以包含一个或者多个子控件。

LabelFrame

简单的容器控件。常用与复杂的窗口布局。

tkMessageBox

用于显示你应用程序的消息框。

标准属性

标准属性也就是所有控件的共同属性,如大小,字体和颜色等。

属性

描述

Dimension

控件大小

Color

控件颜色

Font

控件字体

Anchor

锚点

Relief

控件样式

Bitmap

位图

Cursor

光标

几何管理

Tkinter控件有特定的几何状态管理方法,管理整个控件区域组织,一下是Tkinter公开的几何管理类:包、网格、位置

几何方法

描述

pack()

包装

grid()

网格

place()

位置

原文发布于微信公众号 - 海天一树(gh_de7b45c40e8b)

原文发表时间:2018-02-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏知道一点点

bootstrap快速入门笔记(八)-按钮,响应式图片

一,默认样式:.btn-default , .btn-primary , .btn-success  ,.btn-info, btn-warning ,btn-...

13030
来自专栏小白安全

HTML+CSS基础到精通系统学习

1:HTML纯干货学习后的达到的效果 (1):会使用HTML的基本结构,创建网页 (2):会使用文本字体相关标签,实现文字修饰和布局 (3):会使...

36450
来自专栏葡萄城控件技术团队

Spread for Windows Forms快速入门(5)---常用的单元格类型(下)

在上一篇,我们介绍了常用了文本类型单元格。除了文本型单元格外,Spread还支持如下13种图形单元格类型:组合框单元格、按钮单元格、复选框单元格、超链接单元格、...

25760
来自专栏keyWords

5、React组件事件详解

2.在React中,每个事件处理回调函数都会自动绑定到组件实例(使用ES6语法创建的例外);

42910
来自专栏别先生

HTML+CSS纯干货就业前基础到精通系统学习2016/9/3

1:HTML纯干货学习后的达到的效果 (1):会使用HTML的基本结构,创建网页 (2):会使用文本字体相关标签,实现文字修饰和布局 (3):会使用图像、超链接...

21990
来自专栏一“技”之长

自定义Window标题栏titleBar 原

    在进行OS X软件开发时,Window自带的标题栏十分简易,往往不能达到我们的需求,如下图:

12920
来自专栏柠檬先生

jquery mobile 移动web(1)

轻量级框架jQuery Mobile   所需文件     <link rel="stylesheet" href="jquery.mobile-1.1.2/...

22060
来自专栏做全栈攻城狮

.Net程序员快速学习安卓开发-布局和点击事件的写法

我们新建一个layout布局文件时,默认就是相对布局。相对布局是相对于非相对布局来说的。顾名思义,相对布局就是 相对于某些控件位置的布局。所有的控件都是相对位置...

14440
来自专栏deepcc

jquery nicescroll 配置参数

42780
来自专栏性能与架构

微信小程序示例 - 交互组件

消息提示框 toast ? 代码结构 <toast bindchange="..."> 消息内容 </toast> 属性 duration - 消息显示...

46080

扫码关注云+社区

领取腾讯云代金券