Python GUI项目实战(二)主窗体的界面设计与实现上一节我们介绍了登录窗体的GUI设计与功能实现,用户的账号和密码校验完成后应当跳转到主窗体内容,这一节我们将具体介绍主窗体界面的设计与功能实现!
我们新建一个900x640的窗口,顶部加入图片,下面主体部分创建两个Panedwindow容器,左边添加按钮,右边作为TreeView显示界面;
显示效果:(注意:tkinter在Mac上Panedwindow不支持修改前景色背景色)
在右边的Pannedwindow容器中,添加一个LabelFrame容器作为查询区域 , 在LabelFrame容器中添加一系列的Label、Entry、Button控件,可以输入学号、姓名、电话、身份证、查询、和显示全部信息:
显示效果:
创建控件、设置对齐方式和每个列的标题
显示效果:
登录成功后,在顶部显示用户姓名和登录时间,用户姓名是怎么来的?是我们在登录窗口输入的,所以这就涉及到了跨窗体数据的传递 。这一点非常重要!
登录窗体(登录信息)==主窗体
传递的基本方式:构造函数
在主窗体的构造函数中添加一个接收参数 current_user ,在登录窗体加载新窗体时将参数传递进去;
但是我们登录窗体的登录函数 login() 中用户名的变量 user 是局部变量,函数调用完了之后就变量就没有了 , 那怎么调用呢?
我们需要在登录窗体的构造函数中定义全局变量:
为了获取用户登录的时间,我们定义一个获取当前时间的方法:
然后在加载主窗体时将参数 self.user 和 self.get_now_time() 作为参数传递进去
【python搭建界面函数 用python做界面设计】 另一边,我们在主窗体中,在构造函数中添加全局变量
之后,我们在Top_banner中通过标签将user信息展示出来:
这样主窗口就会显示通过登录窗口登录的用户名(首字母自动转大写)和登录时间:
效果演示:
然后我们在构造方法中把这个函数写入,以实现自动把学生信息写入到all_student_list中
文件中读取到的学生信息存储到all_student_list列表,以此作为参数传入加载TreeView的方法中;
在构造方法中调用该方法,自动把所有学生信息加载到TreeView中
运行效果:
这一节我们实现了主窗体的搭建 , 从界面的布局到TreeView加载全部学生信息 。学生数据如此之多,如果我们想精确查看具体某个学生的信息该怎么做呢?下一讲,我们将实现学生信息的查询功能,敬请期待吧~
python如何生成可视化界面Python做可视化界面python搭建界面函数的方法python搭建界面函数:1、导入PyQt文件python搭建界面函数;2、添加界面相关函数python搭建界面函数,用QPushButton添加按钮python搭建界面函数,用QInputDialog.getText()添加输入文本框;3、在主函数中调用Example类 , 即可完成可视化界面 。
Python创建简单登录界面创建一个简单的登录窗口,假设用户名为TestName,密码为Python 。
依据之前提到的创建方式 , grid布局设计UI,设计登录用户名和密码检查函数 。
from tkinterimport *
def LoginCheck():
name = txtName.get()
password = txtPassword.get()
name_len =len(name)
password_len =len(password)
if name =="TestName" and password =="Python":
msgLabel['text'] ='登录成功'
elifname =="TestName" and password !="Python":
msgLabel['text'] ='密码错误'
txtPassword.delete(0,password_len)
else:
msgLabel['text'] ='用户名错误'
txtName.delete(0,name_len)
txtPassword.delete(0, password_len)
wnd = Tk()
lblName = Label(wnd, text='User Name:')
推荐阅读
- 一岁前益智游戏有什么,一岁益智游戏 app
- 台式机怎么换硬盘,台式机怎么换硬盘怎么安装
- pdf版怎么复制文字,pdf文件怎样复制文字
- 缺书网app下载安卓,缺书网app下载安卓手机
- c语言递归函数的视频 c语言实现递归函数
- html怎么写路径代码,html5路径
- 飞行小游戏女生网名,唯美的飞行游戏
- steam最佳角色扮演游戏,steam角色扮演游戏排行
- java冒泡排序倒叙代码 java冒泡排序例子