Python Tkinter – 入口小部件
Python为开发 GUI(图形用户界面)提供了多种选择。在所有的 GUI 方法中,Tkinter 是最常用的方法。带有 Tkinter 的Python是创建 GUI 应用程序的最快和最简单的方法。使用 Tkinter 创建 GUI 是一项简单的任务。
在 Python3 中,Tkinter 是预安装的,但您也可以使用以下命令安装它:
pip install tkinter
示例:现在让我们使用 Tkinter 创建一个简单的窗口
Python3
# creating a simple tkinter window
# if you are using python2
# use import Tkinter as tk
import tkinter as tk
root = tk.Tk()
root.title("First Tkinter Window")
root.mainloop()
Python3
# Program to make a simple
# login screen
import tkinter as tk
root=tk.Tk()
# setting the windows size
root.geometry("600x400")
# declaring string variable
# for storing name and password
name_var=tk.StringVar()
passw_var=tk.StringVar()
# defining a function that will
# get the name and password and
# print them on the screen
def submit():
name=name_var.get()
password=passw_var.get()
print("The name is : " + name)
print("The password is : " + password)
name_var.set("")
passw_var.set("")
# creating a label for
# name using widget Label
name_label = tk.Label(root, text = 'Username', font=('calibre',10, 'bold'))
# creating a entry for input
# name using widget Entry
name_entry = tk.Entry(root,textvariable = name_var, font=('calibre',10,'normal'))
# creating a label for password
passw_label = tk.Label(root, text = 'Password', font = ('calibre',10,'bold'))
# creating a entry for password
passw_entry=tk.Entry(root, textvariable = passw_var, font = ('calibre',10,'normal'), show = '*')
# creating a button using the widget
# Button that will call the submit function
sub_btn=tk.Button(root,text = 'Submit', command = submit)
# placing the label and entry in
# the required position using grid
# method
name_label.grid(row=0,column=0)
name_entry.grid(row=0,column=1)
passw_label.grid(row=1,column=0)
passw_entry.grid(row=1,column=1)
sub_btn.grid(row=2,column=1)
# performing an infinite loop
# for the window to display
root.mainloop()
输出 :
条目小部件
Entry Widget 是一个 Tkinter Widget,用于输入或显示单行文本。
句法 :
entry = tk.Entry(parent, options)
参数:
1) Parent:要在其中显示小部件的父窗口或框架。
2)选项:入口小部件提供的各种选项有:
- bg :标签和指示器后面显示的正常背景颜色。
- bd :指标周围边框的大小。默认为 2 像素。
- font :用于文本的字体。
- fg :用于渲染文本的颜色。
- justify :如果文本包含多行,则此选项控制文本的对齐方式:CENTER、LEFT 或 RIGHT。
- 浮雕:使用默认值,浮雕=FLAT。您可以将此选项设置为任何其他样式,例如:SUNKEN、RIGID、RAISED、GROOVE
- show :通常,用户键入的字符会出现在条目中。制作一个.password。将每个字符作为星号回显的条目,设置 show=”*”。
- textvariable :为了能够从您的条目小部件中检索当前文本,您必须将此选项设置为 StringVar 类的实例。
方法:入口小部件提供的各种方法有:
- get() :将条目的当前文本作为字符串返回。
- delete() :从小部件中删除字符
- insert ( index, 'name') :在给定索引处的字符之前插入字符串'name'。
例子:
Python3
# Program to make a simple
# login screen
import tkinter as tk
root=tk.Tk()
# setting the windows size
root.geometry("600x400")
# declaring string variable
# for storing name and password
name_var=tk.StringVar()
passw_var=tk.StringVar()
# defining a function that will
# get the name and password and
# print them on the screen
def submit():
name=name_var.get()
password=passw_var.get()
print("The name is : " + name)
print("The password is : " + password)
name_var.set("")
passw_var.set("")
# creating a label for
# name using widget Label
name_label = tk.Label(root, text = 'Username', font=('calibre',10, 'bold'))
# creating a entry for input
# name using widget Entry
name_entry = tk.Entry(root,textvariable = name_var, font=('calibre',10,'normal'))
# creating a label for password
passw_label = tk.Label(root, text = 'Password', font = ('calibre',10,'bold'))
# creating a entry for password
passw_entry=tk.Entry(root, textvariable = passw_var, font = ('calibre',10,'normal'), show = '*')
# creating a button using the widget
# Button that will call the submit function
sub_btn=tk.Button(root,text = 'Submit', command = submit)
# placing the label and entry in
# the required position using grid
# method
name_label.grid(row=0,column=0)
name_entry.grid(row=0,column=1)
passw_label.grid(row=1,column=0)
passw_entry.grid(row=1,column=1)
sub_btn.grid(row=2,column=1)
# performing an infinite loop
# for the window to display
root.mainloop()
输出 :