📜  Python Tkinter教程

📅  最后修改于: 2020-10-25 03:48:48             🧑  作者: Mango

Python Tkinter教程

Tkinter教程提供了Python Tkinter的基本和高级概念。我们的Tkinter教程专为初学者和专业人士设计。

Python提供了标准库Tkinter来为基于桌面的应用程序创建图形用户界面。

使用Python Tkinter开发基于桌面的应用程序并不是一项复杂的任务。可以使用以下步骤创建一个空的Tkinter顶层窗口。

  • 导入Tkinter模块。
  • 创建主应用程序窗口。
  • 将窗口小部件(如标签,按钮,框架等)添加到窗口。
  • 调用主事件循环,以便可以在用户的计算机屏幕上进行操作。

# !/usr/bin/python3
from tkinter import *
#creating the application main window. 
top = Tk()
#Entering the event main loop
top.mainloop()

输出:

Tkinter小部件

有各种小部件,例如按钮,画布,复选按钮,条目等,用于构建Python GUI应用程序。

SN Widget Description
1 Button The Button is used to add various kinds of buttons to the python application.
2 Canvas The canvas widget is used to draw the canvas on the window.
3 Checkbutton The Checkbutton is used to display the CheckButton on the window.
4 Entry The entry widget is used to display the single-line text field to the user. It is commonly used to accept user values.
5 Frame It can be defined as a container to which, another widget can be added and organized.
6 Label A label is a text used to display some message or information about the other widgets.
7 ListBox The ListBox widget is used to display a list of options to the user.
8 Menubutton The Menubutton is used to display the menu items to the user.
9 Menu It is used to add menu items to the user.
10 Message The Message widget is used to display the message-box to the user.
11 Radiobutton The Radiobutton is different from a checkbutton. Here, the user is provided with various options and the user can select only one option among them.
12 Scale It is used to provide the slider to the user.
13 Scrollbar It provides the scrollbar to the user so that the user can scroll the window up and down.
14 Text It is different from Entry because it provides a multi-line text field to the user so that the user can write the text and edit the text inside it.
14 Toplevel It is used to create a separate window container.
15 Spinbox It is an entry widget used to select from options of values.
16 PanedWindow It is like a container widget that contains horizontal or vertical panes.
17 LabelFrame A LabelFrame is a container widget that acts as the container
18 MessageBox This module is used to display the message-box in the desktop based applications.

Python Tkinter几何

Tkinter几何体指定了在显示屏上表示小部件所使用的方法。 Python Tkinter提供以下几何方法。

  • pack()方法
  • grid()方法
  • place()方法

让我们详细讨论其中的每一个。

Python Tkinter pack()方法

pack()小部件用于组织块中的小部件。使用pack()方法添加到Python应用程序中的positions小部件可以通过使用方法调用中指定的各种选项来控制。

但是,控件较少,并且通常以较少组织的方式添加了小部件。

下面给出了使用pack()的语法。

句法

widget.pack(options)

下面给出了可以在pack()中传递的可能选项的列表。

  • expand:如果将expand设置为true,则窗口小部件将展开以填充任何空间。
  • 填充:默认情况下,填充设置为“无”。但是,我们可以将其设置为X或Y来确定小部件是否包含任何额外的空间。
  • 大小:它表示窗口小部件将放置到其父对象的一侧。

# !/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 grid()方法

grid()几何管理器以表格形式组织小部件。我们可以将行和列指定为方法调用中的选项。我们还可以指定窗口小部件的列跨度(宽度)或行跨度(高度)。

这是将窗口小部件放置到Python应用程序的一种更有条理的方式。下面给出了使用grid()的语法。

句法

widget.grid(options)

下面给出了可以在grid()方法内部传递的可能选项的列表。

  • 要放置小部件的列号。最左边的列用0表示。
  • Columnspan小部件的宽度。它代表列被扩展到的列数。
  • ipadx,ipady它表示在小部件边框内填充小部件的像素数。
  • padx,pady它表示在小部件边界外填充小部件的像素数。
  • row放置小部件的行号。最上面的行用0表示。
  • rowspan小部件的高度,即小部件扩展到的行数。
  • 粘性如果单元格大于小部件,则使用粘性指定小部件在单元格内的位置。它可能是代表小部件位置的粘滞字母的串联。可能是N,E,W,S,NE,NW,NS,EW,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()

输出:

Python Tkinter place()方法

place()几何管理器将小部件组织到特定的x和y坐标。

句法

widget.place(options)

下面列出了可能的选项。

  • 锚点:它表示窗口小部件在容器中的确切位置。默认值(方向)为NW(左上角)
  • bordermode:边框类型的默认值是INSIDE,它表示忽略边框内部的父对象。另一个选项是OUTSIDE。
  • 高度,宽度:指以像素为单位的高度和宽度。
  • relheight,relwidth:表示为0.0到1.0之间的浮点数,表示父级的高度和宽度的分数。
  • relx,depend:表示为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()

输出:

先决条件

在学习Tkinter之前,您必须具有Python的基本知识。

听众

我们的Python Tkinter教程旨在帮助初学者和专业人士。

问题

我们保证您不会在本Tkinter教程中找到任何问题。但是,如果有任何错误,请在联系表格中发布问题。