Python Tkinter
Python标准库提供的tkinter用于创建图形用户界面的桌面的应用。基于Python开发桌面应用与Tkinter是一个复杂的任务。
Tkinter创建顶层窗口可以通过以下步骤:
引入Python的Tkinter模块。
创建应用程序的主窗口。
在窗口内添加小工具 ( 如标签、按钮、帧等)。
呼叫主事件循环,以便捕获在用户的计算机屏幕上的动作。
实例
# !/usr/bin/python3 from tkinter import * #creating the application main window. top = Tk() #Entering the event main loop top.mainloop()
输出 :
Tkinter Widgets控件
有各种不同的部件如按钮、画布、 checkbutton 、条目等。使用 Python 构建应用程序的 GUI 。
Sn | Widget | 描述 |
1 | Button | 按钮:用于增加各种按钮 |
2 | Canvas | 画布:用于在窗口上绘制图形,显示图形元素如线条或文本。 |
3 | Checkbutton | 多选框:用于显示多选框的工具。 |
4 | Entry | 输入控件:显示单行文本域 。它一般用于接受用户值。 |
5 | Frame | 框架:在屏幕上显示一个矩形区域,多用来作为容器, 另外的窗件可以加入进来 |
6 | Label | 标签:可以显示文本和位图 |
7 | ListBox | 列表框:显示一个字符串列表给用户 |
8 | Menubutton | 菜单按钮:该文本框用于显示给用户的菜单项目 |
9 | Menu | 菜单:显示菜单栏,下拉菜单和弹出菜单 |
10 | Message | 消息:消息控件用于显示消息给用户,与label比较类似 |
11 | Radiobutton | 单选按钮:不同于将 RadioButton checkbutton 。这里 , 向用户提供各种选项 , 并且用户可以只选择其中一个选项。 |
12 | Scale | 范围控件:显示一个数值刻度,为输出限定范围的数字区间 |
13 | Scrollbar | 滚动条:它向用户提供滚动条 ,当内容超过可视化区域时使用,用户可以滚动窗口 |
14 | Text | 文本:它不同于输入,因为它提供了一个多行文本域的用户,使得用户能够写入文本和编辑文本 |
15 | Toplevel | 容器:它被用于创建独立窗口,提供一个单独的对话框 |
16 | Spinbox | 输入:与Entry类似,但是可以指定输入范围值 |
17 | PanedWindow | 窗口布局管理:它就像一个容器 , 包含水平或垂直控件的窗格。 |
18 | LabelFrame | 容器控件:一个常用与复杂的窗口布局。 |
19 | MessageBox | 消息框:用来显示消息框的桌面应用程序。 |
Python Tkinter 几何管理
MayaVi 所指定几何形状的方法 , 所述微件的显示表示。Python Tkinter 几何形状提供了以下方法。
The pack() method
The grid() method
The place() method
让我们讨论每一个他们详细研究。
Python Tkinter pack () 方法
在pack ( ) 的 Widget 小工具中用于组织块。控件添加到该位置的应用使用 Python 的 pack () 方法可以通过使用各种方法调用中指定的选项。
然而,这些控制器通常更少被添加在非组织行为方式。
所使用的语法被给定如下:
语法
widget.pack(options)
可能选项的列表 , 可以通过在pack ()如下。
expand :如果将扩展设置为 true 时, 控件将会展开以填充任何空间。
Fill :默认情况下 , 填充设置为 NONE 。然而 , 我们可以将其设置为在 X 或 Y 以确定该控件是否包含任何额外的空间。
size:它代表了在父控件将被放置在窗口上。
实例
# !/usr/bin/python3 from tkinter import * parent = Tk() redbutton = Button(parent, text = "Red", fg = "red") redbutton.pack( side = LEFT) greenbutton = Button(parent, text = "Black", fg = "black") greenbutton.pack( side = RIGHT ) bluebutton = Button(parent, text = "Blue", fg = "blue") bluebutton.pack( side = TOP ) blackbutton = Button(parent, text = "Green", fg = "red") blackbutton.pack( side = BOTTOM) parent.mainloop()
输出 :
Python Tkinter (网格) 方法
网格经理组织 (几何) 的微件的列表形式。我们可以指定行和列的选项中的方法调用。我们还可以指定列的宽度 (跨度) 或高度 (rowspan) 的微件。
这是一个更有组织的方式来将微件的 Python 应用。在使用网格 (语法) 。
语法
widget.grid (选项)
可能选项的列表 , 可以在格栅的方法 (如下) 。
列
在数量栏的控件将被放置。最左边的列表示为 0 。
columnspan
控件的宽度。它代表了最高数目的列 , 所述列被扩大。
ipadx , ipady
它表示像素对微件 Widget 垫内的边界。
padx 、帕德
它表示像素对之外的焊盘的 Widget 窗件的边界。
行
行数量的微件。最上面的行表示为 0 。
rowspan
小工具的高度。行的数量 , widget 的扩张。
粘性
如果小区带宽大于一个微件 , 则粘性是用于指定控件的位置。它可以是级联的字母表示该位置的粘性的小工具。它可以是 N 、 E 、 W 、 S 、 NE 、 NW 、南北向、东西向 , ES 。
实例
# !/usr/bin/python3 from tkinter import * parent = Tk() name = Label(parent,text = "Name").grid(row = 0, column = 0) e1 = Entry(parent).grid(row = 0, column = 1) password = Label(parent,text = "Password").grid(row = 1, column = 0) e2 = Entry(parent).grid(row = 1, column = 1) submit = Button(parent, text = "Submit").grid(row = 4, column = 0) parent.mainloop()
输出 :
Tkinter Python place() 方法
place()组织几何形状的小部件的特定 X 和 Y 坐标。
语法
widget.place(options)
可能选项的列表如下。
主播 :它代表了容器内控件。默认值 ( NW ) 方向 ( 左上角 )
bordermode:默认值的类型 , 内部边界是指忽略家长的内部边界。另一选项是外部。
高度 , 宽度 :它是指高度和宽度中的像素。
relheight , relwidth:它被表示为浮动在 0.0 和 1.0 之间的分数表示的高度和宽度。
放松 , 依靠 :它表示为在 0.0 和 1.0 之间浮动 , 该偏移是在水平和垂直方向。
X 、 Y :它是指在水平和垂直像素的偏移。
# !/usr/bin/python3 from tkinter import * top = Tk() top.geometry("400x250") name = Label(top, text = "Name").place(x = 30,y = 50) email = Label(top, text = "Email").place(x = 30, y = 90) password = Label(top, text = "Password").place(x = 30, y = 130) e1 = Entry(top).place(x = 80, y = 50) e2 = Entry(top).place(x = 80, y = 90) e3 = Entry(top).place(x = 95, y = 130) top.mainloop()
输出: