pyqt向py转换,所生成的.py中注意内容

时间:2021-12-04 23:02:51

1、首先使用pyqt designer设计出来ui界面,这里把其保存到‘桌面’

      然后进入到pyqt所在的文件目录中,执行下图cmd中命令,即在当前目录中可以生成相应的test.py文件。

pyqt向py转换,所生成的.py中注意内容 pyqt向py转换,所生成的.py中注意内容


2、生成之后的code,我们需要对其继承的类 object进行修改,改为QtGui.QMainWindow。加了一个__init__方法,这个在一会儿创建窗口对象的时候会自动调用,在__init__里,先调用了父类QMainWindow的构造方法,然后调用了自动生成的两个方法,注意,传的是self,因为他自己已经是QMainWindow了。

否则如果直接对生成的test.py编译运行,则会报错

C:\Python27\Lib\site-packages\PyQt4\uic>python test.py
Traceback (most recent call last):
  File "test.py", line 63, in <module>
    win.show()
AttributeError: 'Ui_MainWindow' object has no attribute 'show'。


修改后的截图:

pyqt向py转换,所生成的.py中注意内容

3、最后运行python __init__.py。

4、若是想对designer中产生的button关联起相应的动作,则需要再code中写该事件的函数。

       如下图所示:

pyqt向py转换,所生成的.py中注意内容


pyqt向py转换,所生成的.py中注意内容



第二种方法:

对于转换生成的code不要任何改动(假设为A),我们在新的__init__.py中写一个class 来继承A中所应该继承的框架类QtGui.QWidget、以及A中的类。

pyqt向py转换,所生成的.py中注意内容pyqt向py转换,所生成的.py中注意内容