Python编写界面(三) 界面程序设计
0赞
在之前,完成了界面的设计,下面就要对界面进行编程,实现界面功能。首先对之前设计的界面进行保存,得到一个后缀是ui的文件。使用pyuic4将ui文件转换成py文件,这样我们才能用python进行编程。至于pyuic4工具,可百度。
这样,就得到了界面的python代码。打开,查看下,软件自动将界面封装成了一个类。然后再这类中,将界面进行实现。下面,我们就要来改造这个类,让界面实现功能。
要让界面实现功能,其实就是要编写控件触发后,应该执行的程序。要实现这个的话,就要用到pyqt4中的信号与槽的机制。简单来说,这个信号与槽就是,当控件触发后,会发出一个信号,然后这信号是与一个函数关联起来的,这样,就会去执行这个函数。
回到designer中,对勾选框和按钮创建信号与槽。因为对于勾选框,勾选后,按钮才能使用。对于按钮,按下后,会显示注册信息。
选择信号与槽。
选中勾选框控件,按住鼠标往外拖,会出现一条线和一个接地的符号。释放后,会出现配置界面。
左边是控件的信号列表,这里选择clicked,表示点击。选择右边的编辑,弹出界面,点击+号,增加一个槽。上面灰色的是控件自带的一些函数。增加后,点击下方的OK。
选择右边刚刚添加的槽,OK。
在右下角的信号/槽编辑器中就会出现刚刚建立的信号和槽了。
同理,再建立按钮的信号和槽。
这样,在designer中,就设计完了。在保存,使用pyuic4将ui转换成py。
在代码中,就要多下面两行,设置信号与槽的。都是与控件的点击有关的。当勾选框点击的时候,触发clicked信号,然后执行agree_on函数。当按钮点击的时候,触发clicked信号,执行register函数
然后就实现agree_on和register函数就可以了。
在类中定义这两个函数
在agree_on函数中,首先判断勾选框是否选中,选中的话,就将按钮的enabled属性给使能,否则不使能。
在register函数中,将用户名数据保存在text变量中,然后判断是选择的男还是女,是男的话,将男加入到text中。在读取年月日值。不过要注意,月和日使用的spinBox,value的值是int型,要将int型转化为str型。最后将text写入到文本框中。
最后一步,也是关键的一步。因为界面是一个类,所以要去例化这个类,才能将界面显示出来。以下是例化的代码:
这个时候,执行程序,就出现界面了。
可以发现,注册的按钮是灰色的,不能使用,因为还没有勾选勾选框。
勾选勾选框,填入数据,点击注册按钮,文本框就显示注册信息了
以上就是设计界面一个实例,希望通过这个实例,能让大家知道怎么使用pyqt4来编写一个界面。
总结起来,实现界面,有以下几步:
1、 使用designer设计界面
2、 对需要的控件创建信号与槽
3、 使用pyuic4将ui转换成py
4、 在py中,编写各个槽的函数的实现
5、 新建一个py,对界面的类进行例化