【tkinter学习笔记 - 2】:Entry的使用、Button按钮的使用

简介: 【tkinter学习笔记 - 2】:Entry的使用、Button按钮的使用

一、Entry单行文本框


Entry用来接收一行字符串的控件。如果用户输入的文字长度长于 Entry 控件的宽度时,文字会自动向后滚动。如果想输入多行文本,需要使用 Text 控件



代码演示


import tkinter as tk
from tkinter import *
from tkinter import messagebox
class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self,master)
        self.master = master
        self.pack()
        self.createWidget()
    def createWidget(self):
        '''创建登录界面的组件'''
        # 创建登录框
        self.label01 = Label(self, text='用户名')
        self.label01.pack()
        # StringVar变量绑定到指定的组件
        # StringVar变量的值发生改变,组件内容也变化
        # 组件内容发生变化,StringVar变量的值也发生变化
        v1 = StringVar()
        self.entry01 = Entry(self, textvariable=v1)
        self.entry01.pack()
        print(v1.get()) # 获取输入的用户名并打印
        # 创建密码框
        self.label02 = Label(self, text='密码')
        self.label02.pack()
        v2 = StringVar()
        self.entry02 = Entry(self, textvariable=v2, show='*')
        self.entry02.pack()
        Button(self,text='登录', command=self.login).pack()
    def login(self):
        username = self.entry01.get()
        pwd = self.entry02.get()
        if username=='QinAfeng' and pwd=='123456':
            messagebox.showinfo('TK世界', '恭喜你登录成功')
        else:
            messagebox.showinfo('TK世界', '登录失败!用户名或密码错误!')
if __name__ == '__main__':
    root = Tk()
    root.geometry('200x200+200+300')
    root.title('Entry实现登录')
    app = Application(root)
    root.mainloop()



BooleanVar:表示Entry接受的是布尔类型


IntVar:表示Entry接收的是整型


DoubleVar:表示Entry接收的是浮点型


StringVar:表示Entry接收的是字符型


fb6301145bd04843b4853fc8b1bf650d.png


运行结果


4e60d7d71546483b9c029cff83de73d2.png


点击登录后

82496ba865c94736b4934d418d35f37a.png



Button按钮的使用


Button(按钮)用来执行用户的单机操作,Button可以包含文本,也可以包含图像,按钮被单击后自动调用对应事件绑定的方法。




代码演示


import tkinter as tk
from tkinter import *
from PIL import Image, ImageTk
from tkinter import messagebox
class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self,master)
        self.master = master
        self.pack()
        self.createWidget()
    def createWidget(self):
        self.btn01 = Button(self, text='登录', width=6, height=3,
                            anchor=NE, command=self.login)
        self.btn01.pack()
        global img
        photo = Image.open('1.gif')
        photo = photo.resize((100,100)) # 规定图片大小
        img = ImageTk.PhotoImage(photo)
        self.btn02 = Button(self, image=img, command=self.login)
        self.btn02.pack()
        # self.btn02.config(state="disabled") # 设置按钮为禁用
    def login(self):
        messagebox.showinfo('登录成功', '欢迎来到Python世界')
if __name__ == '__main__':
    root = Tk()
    root.geometry('200x200+200+300')
    root.title('Button按钮设置')
    app = Application(root)
    root.mainloop()

anchor设置按钮文字所在的位置

522e4e4e46c84433b572d65aa051199c.png


运行结果

ccba97b8beb14493b1555a02e9995f2b.png


点击图片和登录按钮都会弹出如下窗口

f3961736d62f49088751ea43a18b08c3.png


相关文章
element中使用走马灯效果el-carousel点击按钮切换第几页demo效果示例(整理)
element中使用走马灯效果el-carousel点击按钮切换第几页demo效果示例(整理)
|
7月前
|
Shell Python
Tkinter:功能按钮Button
Tkinter:功能按钮Button
|
7月前
|
Shell 数据安全/隐私保护 Python
Tkinter:文本框Entry
Tkinter:文本框Entry
|
7月前
|
Python
tkinter之Button按钮
tkinter之Button按钮
52 1
|
7月前
|
Python
tkinter之button简单使用
tkinter之button简单使用
51 1
|
JavaScript
Vue中使用element-ui的el-dialog对话框,实现拖拽效果(整理)
Vue中使用element-ui的el-dialog对话框,实现拖拽效果(整理)
|
前端开发 Python
Python tkinter 之 Scrollbar 与 Listbox、Entry 等控件联用
Python tkinter 之 Scrollbar 与 Listbox、Entry 等控件联用
214 0
|
算法 Python
Tkinter的Label与Button
Tkinter是Python的一个内置包,主要用于简单的界面设计,使用起来非常方便。
97 0
Tkinter的Label与Button