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

2023-11-05

目录

一、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接收的是字符型

 

  • 运行结果

  • 点击登录后 


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设置按钮文字所在的位置

  • 运行结果 

 

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 【Debug】关于Could not get lock /var/lib/dpkg/lock-frontend解决办法

    作者 柒号华仔 个人主页 欢迎访问我的主页 个人信条 星光不问赶路人 岁月不负有心人 个人方向 专注于5G领域 同时兼顾其他网络协议 编解码协议 C C linux等 感兴趣的小伙伴可以关注我 一起交流 目录 现象 原因 解决办法 现象 在
  • 前端js通过ajax请求下载Blob类型文件(XMLHttpRequest)

    方式一 必须通过原生ajax实现 jquery封装的ajax会有问题 function exportDevice params let xhr new XMLHttpRequest xhr open post http localhost
  • LORA项目源码解读

    大模型fineturn技术中类似于核武器的LORA 简单而又高效 其理论基础为 在将通用大模型迁移到具体专业领域时 仅需要对其高维参数的低秩子空间进行更新 基于该朴素的逻辑 LORA降低大模型的fineturn门槛 模型训练时不需要保存原始
  • 地球坐标,火星坐标,百度坐标转换

    标准地球坐标即GPS设备获得的坐标 该坐标需要经过国家测绘局进行加密后形成火星坐标 WGS 84 我们用的google坐标和高德地图坐标也就是火星坐标 百度地图 在火星坐标的基础上再进行一次加密 形成了百度地图上的坐标 因此 直接将标准地球
  • 电脑出现您的计算机配置似乎正确的,Win10提示你的计算机配置似乎是正确的怎么解决?...

    电脑使用久了总是会出现一些问题 最常见的就是系统提示了 相信不少用户都遇到过win10提示你的计算机配置似乎是正确的 但是又不知道怎么办 为此小编赶紧整理了以下教程帮助大家 大家赶紧来看看吧 访问 解决方法 1 首先进入桌面 按下 win
  • echarts自定义仪表盘实现特殊功能:轴线渐变(半透明) + 刻度颜色变化 + 仪表盘轴线宽度自适应

    如图是我画的两个仪表盘 第一个仪表盘 实现了 轴线渐变 半透明 刻度颜色变化 仪表盘轴线宽度自适应 第二个仪表盘 实现了 仪表盘轴线宽度自适应 关于轴线的渐变 本来打算使用img 但是由于此轴线是透明度渐变 不同位置透明度不一样 所以无法使
  • vue定时器无法停止。

    vue模板里面的定时器问题 文章目录 前言 一 定时器是什么 二 使用步骤 1 使用过程 2 读入数据 总结 前言 有些时候我们在使用vue模板时 不免会使用定时器来定时请求后台获取数据 但是在获取数据的时候 定时器就像踩不住刹车的小车 飘
  • Nuxt.js实现SSR的应用

    seo 即 搜索引擎优化 Search Engine Optimization 它是指通过站内优化 如 网站结构调整 网站内容建设 网站代码优化以及站外优化等方法 来进行搜索引擎优化 简单说 通过各种技术 手段 来确保 你的Web内容被搜素
  • 股海心法60条

    看不懂 看不准 没把握时坚决不进场 先学会做空 再学会做多 君子问凶不问吉 高手看盘先看跌 贪婪与恐惧 投资之大忌 侥幸是加大风险的罪魁 犹豫则是错失良机的祸首 心态第一 策略第二 技术只有屈居第三 任何时候不要轻易满仓 这样做 有利于保持
  • MySQL的多表关联查询

    一 多表关联查询 多表关联查询是使用一条SQL语句 将关联的多张表的数据查询出来 1 1 交叉查询 交叉查询就是将多张表的数据没有条件地连接在一起进行展示 1 1 1 语法 使用交叉查询类别和商品 目标 查询所有分类 以及每个分类下的所有商
  • 企业微信开发(通讯录模块)

    1 前言 关于企业微信通讯录同步的开发 先获取企业corpid 通讯录应用的secret 并在通讯录应用开启API编辑通讯录权限 2 关于token token是通过调用微信api接口由corpid和secret获取 由于token是每隔两
  • 系统提示0x00000709错误怎么办?

    一般都是系统自动更新补丁造成的 系统更新出现大面积打印机造成电脑蓝屏的问题还没解决多久 又出现了更新系统造成打印机无法共享 现在的系统都不带测试就推送的吗 所以我一般强烈建议大家不要更新系统 更新系统就是个定时炸弹 随时可能让你的系统爆炸
  • 链式栈的创建以及各种操作

    目录 一 声明 二 链式栈的初始化和各种操作 2 1 链栈结构定义 2 2 初始化和进栈操作 2 3 进栈结果展示 编辑 2 4 出栈操作 2 5 出栈结果展示 2 6 遍历操作 2 7 遍历结果展示 编辑 2 8 获取栈顶元素 2 9 结
  • JS对象

    前言 回顾之前的七种数据类型 number string bool symbol null undefined object 五个falsy值 null undefined 0 NaN 空字符串 对象的概念 定义 无序的数据集合 键值对的集
  • openstack之neutron Local网络

    openstack之neutron Local网络 一 local网络介绍 二 修改neutron的相关配置文件 1 进入配置文件目录 2 备份配置文件 3 修改配置文件 三 重启服务 四 管理员创建local网络 1 创建网络 2 创建子
  • 机器学习西瓜书吃瓜笔记之(一)深入理解线性模型与logistics回归

    入门概念 机器学习两大基本问题 预期的输出是离散还是连续 回归问题 用多个变量拟合出一个连续值 分类问题 用多个变量拟合出一个离散值 机器学习三大理论 确定研究手段 传统监督学习 血糖预测 有无糖尿病预测 深度学习 自然语言处理 计算机视觉
  • hosts文件的作用以及hosts中多个ip映射一个域名地址的解析顺序

    hosts的作用 当我们访问网站时 要首先通过DNS服务器把网络域名 www xx com 解析成IP地址 我们的计算机才能访问 如果对于每个域名请求我们都要等待域名服务器解析后返回IP信息 这样访问网络的效率就会降低 而Hosts文件就能
  • 什么是copyonwrite容器

    开发十年 就只剩下这套Java开发体系了 gt gt gt CopyOnWrite容器即写时复制的容器 通俗的理解是当往一个容器添加元素的时候 不直接往当前容器添加 而是先将当前容器进行Copy 复制出一个新的容器 然后新的容器里添加元素
  • STK的2D二维采用的投影方式及osgEarth实现

    Spherical or Equirectangular projection 等距圆柱投影 球面投影 The equirectangular projection also called the equidistant cylindric
  • 【tkinter学习笔记 - 2】:Entry的使用、Button按钮的使用

    目录 一 Entry单行文本框 代码演示 Button按钮的使用 代码演示 一 Entry单行文本框 Entry用来接收一行字符串的控件 如果用户输入的文字长度长于 Entry 控件的宽度时 文字会自动向后滚动 如果想输入多行文本 需要使用