解决
了我改变了:
self.ui = base_class()
进入:
self.ui = form_class()
self.ui.setupUi(self)
现在它起作用了!
我正在尝试使一些代码正常工作,以便我可以即时使用 .ui 文件。这种方式在我运行 python 代码时会立即使用 Qt Designer 的更新。
在摆弄和使用片段之后,我最终得到了以下代码。但不知何故,.ui 中的按钮没有显示。任何人的想法?
import sys,os
from PyQt4 import QtCore, QtGui, uic
form_class, base_class = uic.loadUiType('try_ui.ui')
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
self.ui = base_class()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = MainWindow()
myapp.show()
sys.exit(app.exec_())
和 try_ui.ui 一个简单的按钮:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>323</width>
<height>111</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>120</x>
<y>30</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>323</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>