一般pyqt5做界面有两种方式:
1、用代码直接实例化各种对象(窗口,对话框,文本框等等),然后进行属性设置(比如位置大小)
2、使QT designer进行界面布局,同时可以在QTdesigner中设置一些对象属性
步骤:
a.打开qtdesigner ,新建一个QMainwin
左边是控件栏,各种界面控件可以通过拖拽的方式拖到刚刚生成的QMainwin中。
右边从上往下依次是:
a.对象查看栏,界面中的所有对象以及对象之间的包含关系可以通过它来查看。
b.资源浏览器,可以通过资源浏览器将一些图片资源在界面中引用
c.属性编辑器,针对每个对象的很多属性可以通过其进行编辑
b.将控件通过控件栏拖拽的方式拖到生成的主界面中,并对对象进行命名。
如图,有一个QLabel对象,一个QPushButton对象,对其进行命名及修改上面的文本
c.保存界面为Ui文件,此时的Ui文件为xml语言表示的界面文本
d.将Ui界面转换为python文件
在cmd命令行输入:
pyuic5 -o xxx.py xxx.ui
xxx.py:生成的界面文件名
xxx.ui:刚刚保存的ui文件名
生成的python文件内容如下:
获得test.py文件
e.获得py文件后需要另外写一个实现逻辑python文件,通过该文件对界面文件进行调用,从而显示界面。这样做的好处是:实现界面与逻辑相分离,当界面文件修改后,逻辑代码只需要修改一小部分即可。
通过逻辑文件,新建类Test_win,并且继承:
1.QtWidgets.QMainWindow(主界面类,需要使用该类的方法,是其他对象的容器)
2.Ui_MainWindow(控件类,描述主界面上的对象及属性,布局等等)
可以在类中实现属于类的方法比如:func()
最终在主函数中:实例化Test_win类,再通过.show()方法显示界面,通过.func()调用自定义函数
app = QtWidgets.QApplication(sys.argv) & sys.exit(app.exec_())
与界面显示线程有关,直接照抄即可。