此篇介绍使用pyqt来开发测试工具。
tkinter的好处是python官方自带,上手容易(但手写控件复杂),布局和摆放都不直观和容易,因为是像素坐标定位,需要花较长时间在界面开发上。pyqt是第三方gui开发工具,是目前公认的python上最好的客户端界面开发工具,因为控件是通过qt设计师的手动拖拽,调整颜色 字体 大小等样式也很简单,不需要去代码层面来写大量界面代码,真正的所见即所得。
学习pyqt需要安装这些文件,pyqt是python第三方包,eric是qt设计界面,sip在工具打包时候需要用到。
安装好环境后,双击运行eric4.bat文件(我这里是eric4版本)
运行eric4.bat文件后的界面,点击designer图标,进入qt设计视图
此图为qt设计师界面
通过拖拽左侧的控件列表中的元件到ui中就可以。布局完成界面达到满意的效果后,点击菜单栏的文件另存为,保存为ui文件,文件后缀默认是.ui。
使用cmd 命令将.ui文件转换为.py文件,命令是
pyuic4 -o syui.py suoyouxiangmu.ui
前面是py文件名称,后面是刚才保存的ui的文件名,执行此命令后会看到文件夹多了一个叫syui.py的文件。
打开文件,可以看到文件的大致内容,截图如下
要想把从ui转换得到的py文件,显示出界面来,还需要加入代码
不过,强烈建议不要这么写,不要把工具的功能代码和ui转换得到的py代码写在一个文件,因为在开发工具时候可能经常用调整界面不断的把ui转换成py代码 ,如果代码写在这文件,那么之前写的功能代码将会被覆盖了,把红框子中这段代码和后代功能代码写在另外一个文件。
pyqt中将一个函数和按钮绑定的语法是 mainwindow.pushButton_2.clicked.connect(function)
下面介绍一些获取控件的值和给控件赋默认值的方法
mainwindow.lineEdit.setText((u"zg 额外abc")) #给输入框赋值
mainwindow.textEdit.setPlainText('') #给texedit赋值