python实现统一登陆UI

博主分享了使用Python开发一个统一登录界面的过程,该界面用于启动VR教学程序。通过配置文件存储程序信息,利用Python描绘UI并实现按钮回调功能。遇到的问题包括按钮共享回调、动态时钟实现、窗体图片与按钮的叠加、exe打包后的命令行窗口等,并给出了解决方案。文章附带源代码和配置文件示例。
摘要由CSDN通过智能技术生成

最近在刻苦学习python,已经在单位开发了一些查询Excel、联网查询用户信息ldap、自动推送邮件等小程序/小工具。

这两天又萌发了一个想法,单位有好几个VR教学程序,除了我,其他人都不清楚点哪些图标启动什么程序。我直接用python写一个统一登录界面,辅之以必要的帮助和提示信息,提高VR培训的用户感知。

简单分析,思路如下:

1、配置文件存放各个程序的名称、路径和帮助信息。

2、python描绘一个窗体UI,里面有一个科技感的图片背景,有几个按钮,按钮的text从配置文件中名称键值进行同步更新。

3、按钮的回调函数为调用启动对应的exe后缀的VR培训程序。

4、启动程序的时间和名称记录到log.txt这个一个文本文件中,方便统计VR教学程序使用情况。

由于初学python,本着用不到的先不学,用到的现场百度搜的习惯,主要遇到了如下关键问题:

1、button共享一个回调函数,在同一个回调函数内判断是哪个按钮被点击导致回调。

2、本来想做一个动态时钟,但是网上都是while 1==1 中循环刷新时间,但是我感觉这不是我想要的,程序不能不干正事,一直在刷时间的循环里转悠不出来呀。

3、窗体上加图片,图片上加按钮,难以直接实现。实际上采用窗体上加画布canvas,画布上加image,画布上加lable和button。

4、打包后exe程序有黑色命令行窗口,后来靠pyinstaller -F -vrui.py -w 解决,注意主要是-w。

5、我的主程序用os.system的方式调用第三方exe程序时,也会自带黑色命令行,后来通过加start /B 缓解,注意仅仅时缓解,短暂出现命令行后消失,无大碍。

6、在非开发机上直接用记事本修改.ini配置文件后,主程序启动报错,用开发机pycharm保存的ini配置文件复制过去就能正常使用。均是utf-8,目前没找到根因,但是不影响当前场景使用。

源代码:

源代码已经加了丰富的注释,均为初稿真实代码,实际部署的代码会持续有局部优化(本文代码已具备开发参考和交流效果)。

#编程:yinyuebin ******
# 练习UI美化、控件共享回调、读写配置文件、写日志、调用文件、字符串操作、数组操作等基本功
#log.txt用于保存程序使用时间等记录
#peizhi.ini用于保存主程序按钮的调用路径
import tkinter as tk#创建窗体用
#from tkinter  import  filedialog#后续选择文件路径用
from tkinter import messagebox#弹出消息用
import time#获取系统时间用
from PIL import Image, ImageTk#导入图片用
import configparser#读写配置文件用
import os#调用VR程序用

#接下来,先创建一个窗体实例
win=tk.Tk()
win.title("VR快速启动界面Python版 V1.0   设计&开发:yinyuebin  ******")
win.geometry("920x540
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值