当前位置:首页 > 编程教程 > Python教程 > python-tkinter的基本使用

python-tkinter的基本使用
栏目分类:Python教程发布日期:2020-01-18浏览次数:

tkinter的基本使用 1.创建空窗口 首先导入tkinter模块,使用Tk()类创建一个窗口对象,但此时还不能显示,还要打开mainloop()进入消息循环,才可以正常显示窗口。因为loop循环的意思,mainloop会让窗口不断的刷新,如果没有它,就是一个静态的window,传入进去
 tkinter的基本使用

1.创建空窗口

首先导入tkinter模块,使用Tk()类创建一个窗口对象,但此时还不能显示,还要打开mainloop()进入消息循环,才可以正常显示窗口。因为loop循环的意思,mainloop会让窗口不断的刷新,如果没有它,就是一个静态的window,传入进去的值就不会有循环,窗口就会一闪而过,几乎看不到它的存在。

运行结果:

仅仅三行代码就可以创建出这样的一个空窗口,我们可以将它放大缩小。

2.窗口内嵌元素

创建了窗口,我们就可以往里面放东西了,比如我们第一个GUI程序里的Button,也就是按钮,当然不只它一个,还有很多其他元素,如下表所示。
控件 控件名称及描述
Button 按钮,可以在窗口中显示一个按钮来执行特定操作。
Canvas 画布,绘画功能,如点,线,面等
Frame 框架,在窗口中显示一个矩形区域,用来存放其他GUI元素。
Entry 输入,允许用户输入单行文本
Checkbutton 复选框,提供多项选择框,允许用户选择或反选某一选项
Label 标签,显示不可编辑的文本和图标
Listbox 列表框,选项列表,让用户从中选择一项
Menubutton 菜单按钮,用来包含菜单的组件。
Menu 菜单,点下菜单按钮后弹出的一个选项列表,让用户选择
Message 消息,可以显示多行文本类似于label
Scrollbar 滚动条,内容超过当前窗口范围时使用。.
Scale 进度条,线性滑块组件,可以设定起始和终止值,会显示当前位置的精确值
Radiobutton 单选按钮,用户可以从多个选项中选取一个,不能多选
Text 文本,显示多行文本
Toplevel 顶层,用来提供一个单独的窗口,类似于Frame
Spinbox 输入,可以指定输入范围值的Entry
LabelFrame 容器控件,用于复杂的窗口布局。
PanedWindow 窗口布局管理插件,可以包含多个子控件。
 
下面以标签Label的使用为例进行演示:


首先介绍几个简单的函数。
第3行的title(),顾名思义是标题的意思,这里是给窗口对象设置标题,如运行结果的左上角所示文本。接下来的geometry()函数是设置窗口的大小和位置,其参数的具体含义如下:geometry(“weightxheight±x±y”),窗口的宽和高,中间一个字母’x’连接表示乘号,然后的±x±y表示距离屏幕的距离,+x表示距屏幕左边的距离,-x表示距屏幕右边的距离;+y表示距离屏幕上边的距离,-y表示距离屏幕下边的距离。
tk.Label()就是我们的标签控件,里面的第一个参数必须是窗口对象,后面的属性均可以根据需要设置,以上分别为设置标签文本内容、背景颜色,字体字号、标签宽和高。
设置好标签后,需要放置标签,即label.pack(),否则显示不出来。
最后进入消息循环,显示窗口。
 
接下来测试Button,即按钮,它和Label很类似,但是可以扩展功能,可以自由设置按下后触发的事件,就像我们写的一个GUI程序演示的那样。
为了便于类别,在上述代码的基础上继续写。


上述代码是对Button的基本设置,可以看到和Label的设置基本无异。
运行如下:


不过我们可以点击这个按钮,而Label是不能点击的,接下来我们可以为按钮绑定事件,也就是点击按钮后触发的功能。


这里增加功能:点击按钮后会弹出一个窗口,并显示提示语。
需要用到messagebox函数,然后把弹出窗口的功能写在一个自定义函数fun中,接下来将这个函数与button绑定,方法可以使用第一个GUI的演示,使用bind()函数绑定。不过这里直接在button定义里面增加了一个参数command,给它传入fun参数,也可以完成绑定。
 

1.       第一个GUI程序

始介绍,大家可以先把这个程序拿去恶搞一下自己的小伙伴哟。
 

Cookie:

我们用python写好的一个GUI程序,发给别人后无法直接在没有python环境的电脑上

相关热词: python

     
编程入门 编程教程 编程资源 编程问答