📜  Python Tkinter – 入口小部件

📅  最后修改于: 2022-05-13 01:55:00.070000             🧑  作者: Mango

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()


输出 :

python-tkinter1

条目小部件

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()

输出 :

python-tkinter-entry-widget

python-tkinter-entry-widget