wxpython+MySQL实现学生信息管理系统

发布于:2023-07-04 ⋅ 阅读:(79) ⋅ 点赞:(0)
初学者,仅供学习交流

Python学习两周时间了,这是我目前编写的比较满意的一个程序,有以下几个方面的经验总结:

1.布局管理是可视化编程的基础思维,尽量避免定点式布局,不规则分布的各种控件可以局部先用wx.StaticBoxSizer(静态框)水平或垂直组合,再横向或纵向上与其他控件组合并,利用布局管理的内置参数设置,灵活控制想要的显示效果。需要说明的是,在wxpython里布局管理器不是容器,而是通过它对加入其中的控件进行自适应管理。
2.控件的动态管理问题。这里说的动态不是动画效果,而是不同操作对控件组Show(False)(不可见)和Show(True)(可见)的整体控制。例如学生信息管理系统里有4个按钮,分别控制:查询学生信息、添加学生信息、删除学生信息和退出系统的操作,虽然功能看上去很简单,但每个按钮所调用的控件数也不少,而且在面板布局上是有重叠的。刚开始我的思路是,在父面板上把所有需要的控件都做出来,初始化都设置成Show(False),当调用某个按钮操作时,再Show(True)对应的控件组,如此反复。这样的代码显得特别臃肿繁琐,而且Python程序是由上至下一条条指令运行的,控件显示和消失是有先后顺序的,屏幕分辨率高的话肉眼都能看到控件波浪式消失再现的效果,这个问题目前我查阅的资料里没有找到有效的解决办法。我最终的解决办法是:用类函数嵌套调用跳转同时关闭自己(self.Close(