1 回答

TA貢獻1869條經(jīng)驗 獲得超4個贊
似乎這是一個錯誤,或者至少是容量不足,沒有在 QMdiArea 中插入小部件,如果分析 pyuic5 生成的代碼就可以看出這一點。
所以解決方案是將小部件添加到 QMdiArea:
import os
import sys
from PyQt5 import QtCore, QtWidgets, uic
scriptPath = os.path.dirname(os.path.realpath(__file__))
uiFile = os.path.join(scriptPath, "mainwindow.ui")
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.initUI()
def initUI(self):
# load the UI page
self.ui_main = uic.loadUi(uiFile, self)
self.action1.triggered.connect(lambda: self.fileBarTrig("test"))
def fileBarTrig(self, p):
sw1 = self.mdiArea.addSubWindow(self.subwindow)
sw1.show()
sw2 = self.mdiArea.addSubWindow(self.subwindow_2)
sw2.show()
self.mdiArea.tileSubWindows()
def main():
app = QtWidgets.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
添加回答
舉報