【Python】手把手教你用tkinter设计图书管理登录界面(上)

tkinter

tkinter是Python的标准GUI库之一,它是Python中用于创建图形用户界面(GUI)的一种工具。tkinter是一个开源的软件包,由Tcl(Tool Command Language)编写,可以用于创建各种GUI元素,如按钮、标签、文本框等等。

使用tkinter,您可以轻松地在Python中创建各种GUI应用程序。它提供了丰富的组件和布局管理器,使得您可以灵活地设计和构建GUI界面。此外,tkinter还支持各种操作系统,因此您可以在不同的平台上使用相同的代码来创建GUI应用程序。

tkinter.ttk 

tkinter.ttk 是 Tkinter 的一个扩展库,提供了更多的部件(widget)和更高级的功能。ttk 是 “Tool Kit” 的缩写,其中的部件比 tkinter 提供的部件更美观,更容易使用。

以下是 tkinter.ttk 中一些主要部件的简介:

  1. ttk.Button:这是一个按钮部件,用户可以点击它来触发一个事件。
  2. ttk.Label:这是一个标签部件,可以显示文本或图像。
  3. ttk.Entry:这是一个文本输入框部件,用户可以在其中输入文本。
  4. ttk.Frame:这是一个普通的框架部件,可以包含其他部件。
  5. ttk.LabelFrame:这是一个带有标题的框架部件。
  6. ttk.Radiobutton:这是一个单选按钮部件,用户只能选择一个选项。
  7. ttk.Checkbutton:这是一个复选框部件,用户可以选择多个选项。
  8. ttk.Text:这是一个文本部件,用户可以在其中输入和编辑文本。
  9. ttk.Menubutton:这是一个菜单按钮部件,可以触发一个下拉菜单。
  10. ttk.PanedWindow:这是一个带有分隔条的框架部件,可以包含其他部件。
  11. ttk.Scale:这是一个滑块部件,用户可以通过拖动滑块来选择一个值。
  12. ttk.Scrollbar:这是一个滚动条部件,可以添加到其他部件以提供滚动功能。

一.初始框架,并验证Python解释器是否正常运行

# 通配符 '*'
__all__ = ['main']# 主函数
def main():print('Hello world.')# 代码测试
if __name__ == '__main__':main()
else:print(f'导入{__name__}模块')

二.设计图书管理登录界面

"""图书管理登录界面
"""# 通配符 '*'
__all__ = ['main']import tkinter as tk
from tkinter import ttkclass LoginUI(tk.Tk):"""继承tk.Tk,创建登录UI"""def __init__(self):"""构造方法"""# 调用tk.Tk的构造方法super().__init__()# 设计自己项目的UIself.title('图书管理登录界面')      # 标题self.geometry('600x375')         # 窗口像素大小self.resizable(0, 0)            # 窗口大小禁止调节# 窗口背景图photo = tk.PhotoImage(file='.\\..\\photo\\窗口背景图.png')tk.Label(self, image=photo).pack()# 系统名tk.Label(self, text='图  书  管  理  系  统', font=('Tahoma', 30, 'bold')).place(x=110, y=40)# 用户名tk.Label(self, text='用户名').place(x=170, y=160)# 输入用户名self.userName = tk.StringVar()ttk.Entry(self, textvariable=self.userName).place(x=223, y=161)# 随机用户名ttk.Button(text='随机', width=4).place(x=380, y=159)# 密码tk.Label(self, text='密   码').place(x=170, y=200)# 输入密码self.password = tk.StringVar()ttk.Entry(self, textvariable=self.password, show='*').place(x=223, y=201)# 显示/隐藏密码ttk.Button(text='隐藏', width=4).place(x=380, y=199)# 验证码tk.Label(self, text='验证码').place(x=170, y=244)# 输入验证码self.inputVerifyCode = tk.StringVar()ttk.Entry(self, textvariable=self.inputVerifyCode, width=10).place(x=223, y=244)# 随机验证码self.showVerifyCode = tk.StringVar(value='ABCDEF')tk.Button(self, textvariable=self.showVerifyCode, relief='flat', width=7).place(x=310, y=240)# 刷新验证码updatePhoto = tk.PhotoImage(file='.\\..\\photo\\验证码更新.png')tk.Button(self, image=updatePhoto, relief='flat').place(x=384, y=240)# 登录ttk.Button(self, text='登录').place(x=200, y=300)# 注册ttk.Button(self, text='注册').place(x=300, y=300)self.mainloop()ui = LoginUI()      # 实例化对象# 主函数
def main():print('Hello world.')# 代码测试
if __name__ == '__main__':main()
else:print(f'导入{__name__}模块')
运行结果

作者:周华

创作日期:2023/11/30

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/235628.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用python发邮件

使用python发邮件,下面是代码,我使用的是88完美邮箱。 该代码是我程序完成,然后它会自动发一封邮件,并且通过sys.argv将程序相关设置写到邮箱里。 下面代码是88邮箱为例: import sys import smtplib from email.heade…

electron调用dll问题总汇

通过一天的调试安装,electron调用dll成功,先列出当前的环境:node版本: 18.12.0,32位的(因为dll为32位的) VS2019 python node-gyp 1、首先要查看报错原因,通常在某一行会有提示,常…

[跑代码]BK-SDM: A Lightweight, Fast, and Cheap Version of Stable Diffusion

Installation(下载代码-装环境) conda create -n bk-sdm python3.8 conda activate bk-sdm git clone https://github.com/Nota-NetsPresso/BK-SDM.git cd BK-SDM pip install -r requirements.txt Note on the torch versions weve used torch 1.13.1 for MS-COCO evaluation…

行业风云突变,毫末发内部信:明年要打赢智驾生死之战

岁末智能车行业风云突变。 广州车展前夕,小米汽车首车曝光;车展现场,各路车企上演旗舰之战;而车展才刚落幕,华为突然宣布车BU业务拆分。 外资、自主、合资、跨界车企,各路势力提前决战2025。智能新能源车…

TCP解帧解码、并发送有效数据到FPGA

TCP解帧解码、并发送有效数据到FPGA 工程的功能:使用TCP协议接收到网络调试助手发来的指令,将指令进行解帧,提取出帧头、有限数据、帧尾;再将有效数据发送到FPGA端的BRAM上,实现信息传递。 参考:正点原子启…

LeetCode(40)同构字符串【哈希表】【简单】

目录 1.题目2.答案3.提交结果截图 链接: 同构字符串 1.题目 给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符&#xff0…

在idea中写sql语句,向数据库添加数据时,添加的字符串却显示???,解决方法

这是字符编码的问题 如何解决: 在idea的配置数据库的地方修改下边:mysql8版本和5版本差距不大。 在URL后加?useUnicodetrue&characterEncodingUTF8 例如 原来:String url “jdbc:mysql://localhost:3306/stu”; 改变后:St…

ssh连接docker容器处理备忘

1、查看容器ip,记下来之后要用 docker inspect elastic | grep IPAddress 2、使用root进入docker容器 docker exec -it -u root elastic /bin/bash 3、安装openssh #更新apt apt-get update#安装ssh client apt-get install openssh-client#安装ssh server apt-…

ubuntu配置ssh

本教程中的涉及路径的所有命令都是在root用户下的,读者可将路径中的/root更改为/home/用户名 1、重置密码 新安装的系统需要在服务器控制台点击“重置密码”,为root用户设置一个密码 ————————————————————————————————…

分享:大数据方向学生学徒参与条件

学生学徒制的实施旨在解决当前新技术企业招聘技能人才难和青年就业难的结构性矛盾,通过生态链链主企业携手院校共同解决毕业年度学生就业问题,按照学生个人意愿,建立以就业导向的学生学徒制关系,签订学徒培养协议确定学生就业岗位…

每日一练2023.11.30——谁先倒【PTA】

题目链接:谁先倒 题目要求: 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了&#xff0…

快速排序算法的代码及算法思想

快速排序(Quick Sort)是一种常用的排序算法,他的时间复杂度为O(nlogn) 算法思想: 通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据小,然后再对这两部分数据分别进行快速排…