我已經在pyqt4中創建了一個自定義小部件,我已經開發並測試過,現在已準備好將其加載到我的主窗口中。由於它不在設計器中顯示,我需要手動將它手動添加到我的主窗口。已添加到佈局的PyQt4自定義小部件(uic加載)不可見
我的Widget使用UIC加載UI文件,而不是將其轉換爲PY文件(它已經這麼遠快麻煩更少)的,所以它看起來是這樣的:
class widgetWindow(QtGui.QWidget):
def __init__(self, parent = None):
super(widgetWindow, self).__init__(parent)
self.ui = uic.loadUi("widget.ui")
#everything else
現在我的主類(例如爲了簡潔)創建的佈局,小部件添加到佈局,然後將其添加到主窗口部件
class main(QtGui.QMainWindow):
def __init__(self, parent = None):
super(main, self).__init__(parent)
self.ui = uic.loadUi("testWindow.ui")
mainlayout = QtGui.QVBoxLayout()
window = widgetWindow(self)
mainlayout.addWidget(window)
centerWidget = QtGui.QWidget()
centerWidget.setLayout(mainlayout)
self.ui.setCentralWidget(centerWidget)
沒有錯誤拋出,並且它將使空間小部件,但它只是贏了」什麼都不顯示。
在窗口中添加window.ui.show()會彈出一個新的窗口,超過它應該佔據主窗口的空間。我錯過了什麼?
我確實有setCentralWidget,只是未能得到複製到這個問題,我現在已經更新了它的問題。不幸的是,將父母/自我添加到loadUi中並沒有多大作用。 – ooklah