PyQt5 入门
相比于用C++写Qt,PyQt更加适合小项目入手,在单文件/单窗口的情况下更容易入手。
静态加载.ui
文件需要使用pyuic5
进行编译,然后作为库引入,使用一个类去继承该类即可使用。在这个类中,组件可以通过使用ui中指定的objectName
直接进行获取,类似于Android中的findViewById
。
接下来是一些坑:
- 组件具有线程绑定性,只能在主线程内更新组件(包括设置组件内容),否则好的情况抛出
Exception
,坏的情况直接Segmentation Fault
退出了,此时只能通过Qt的信号/槽机制来; - 即便是新建
QMessageBox
也最好在主线程中进行(同样是信号/槽机制),否则可能可以展示信息,但是会出一些奇奇怪怪的错误,我这里遇到的情况就有诸如包含空格就段错误的情景。