Python入门示例系列31 GUI Tkinter 入门
发布时间:2023-04-18 12:53:44 所属栏目:教程 来源:
导读:Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。可以在IDLE或Pycharm中编写和测试Tkinter代码。
由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 im
由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 im
|
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。可以在IDLE或Pycharm中编写和测试Tkinter代码。 由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。 创建一个GUI程序的基本步骤: 1、导入 Tkinter 模块;创建窗体。 2、创建控件,并且指定这个控件的 master, 即这个控件属于哪一个容器。 3、告诉 GM (geometry manager) 有一个控件产生了。 示例:创建一个窗体。 import tkinter top = tkinter.Tk() # 进入消息循环 top.mainloop() 结果如下: 设置窗体的大小和位置, geometry函数的使用 from tkinter import * root = Tk() root.geometry('+400+200') # 位置 x=400像素,y=200像素; 位置以屏幕左上角为起始点(0,0).窗口在屏幕上的位置,第1个加号是距离屏幕左边的宽,第2个加号是距离屏幕顶部的高。单位是像素 root.geometry('400x200') # 宽400像素,高200像素 root.geometry('400x200+400+200') # 宽400像素,高200像素 位置 x=400像素,y=200像素 root.mainloop() 设置窗体大小并让窗体在屏幕中居中: import tkinter win = tkinter.Tk() sw = win.winfo_screenwidth() #得到屏幕宽度 sh = win.winfo_screenheight() #得到屏幕高度 ww = 100 wh = 100 x = (sw-ww) / 2 y = (sh-wh) / 2 win.geometry("%dx%d+%d+%d" %(ww,wh,x,y)) win.mainloop() import tkinter #from tkinter import * mywin = tkinter.Tk() mywin_width = 300 mywin_heigth = 200 mywin.geometry("%dx%d+%d+%d" %(mywin_width,mywin_heigth,(mywin.winfo_screenwidth()-mywin_width) / 2,(mywin.winfo_screenheight()-mywin_heigth) / 2)) mywin.mainloop() StringVar是Tk库内部定义的字符串变量类型,用于管理部件上面的字符;不过一般用在按钮button上。改变StringVar,按钮上的文字也随之改变。 我们在使用界面编程的时候,有些时候是需要跟踪变量的值的变化,以保证值的变更随时可以显示在界面上。由于python无法做到这一点,所以使用了tcl的相应的对象,也就是StringVar、BooleanVar、DoubleVar、Intvar所需要起到的作用。 StringVar除了set以外还有其他的函数包括:get()用于返回StringVar变量的值、trace(mode, callback) 用于在某种mode被触发的时候调用callback函数。 Tkinter 组件 Tkinter 的提供各种控件(widget),如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。 目前有18种 Tkinter的部件(widget)。我们提出这些部件以及一个简短的介绍,在下面的表: 控件widget 描述 Button 按钮控件;在程序中显示按钮。 Button用法介绍 Canvas 画布控件;显示图形元素如线条或文本。在Canvas中可以画图,类似于 turtle 的画布。 Checkbutton 多选框控件;用于在程序中提供多项选择框。复选框按钮。 Entry 输入控件;用于显示简单的文本内容。类似于html中的 input Box,textBox 用法介绍 Frame 框架控件;在屏幕上显示一个矩形区域,多用来作为容器。可以包含其他控件。 Label 标签控件;可以显示文本和位图。静态文本或图。 用法介绍 ListBox 列表框控件;在ListBox窗口小部件是用来显示一个字符串列表给用户 Menubutton 菜单按钮控件,用于显示菜单项。 Menu 菜单控件;显示菜单栏,下拉菜单和弹出菜单(Python Tkinter 菜单示例 ) Message 消息控件;用来显示多行文本,与label比较类似 Radiobutton 单选按钮控件;显示一个单选的按钮状态 Scale 范围控件;显示一个数值刻度,为输出限定范围的数字区间 Scrollbar 滚动条控件,当内容超过可视化区域时使用,如列表框。. Text 文本控件;用于显示多行文本 Toplevel 容器控件;用来提供一个单独的对话框,和Frame比较类似 SpinBox 输入控件;与Entry类似,但是可以指定输入范围值 PanedWindow PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。 LabelFrame labelframe 是一个简单的容器控件。常用与复杂的窗口布局。 tkMessageBox 用于显示应用程序的消息框。 标准属性 标准属性也就是所有控件的共同属性,如大小,字体和颜色等等。 属性 描述 Dimension 控件大小; Color 控件颜色; Font 控件字体; Anchor 锚点; Relief 控件样式; Bitmap 位图; Cursor 光标; 几何管理 Tkinter控件有特定的几何状态管理方法,管理整个控件区域组织,以下是Tkinter公开的几何管理类:包、网格、位置 典型的组件(控件,widget) Button按钮示例 用法介绍 from tkinter import * from tkinter import messageBox top = Tk() top.geometry("100x100") def helloCallBack(): msg = messageBox.showinfo( "Hello Python", "Hello World") B = Button(top, text = "Hello", command = helloCallBack) B.place(x = 50,y = 50) # place 的用法 top.mainloop() Canvas 示例(Python实验四.pdf) from tkinter import * (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
