我正在尝试在 pyqt5 的 MDI 区域中创建一个子窗口,使用 .ui 文件作为我的主窗口。当我触发显示子窗口的操作时,它显示为一个单独的窗口(未按预期停靠在 MDI 区域中)。我已经尝试通过本教程 ( codeloop.org MDI Area Tutorial ) 添加子窗口并且它工作正常,但我无法通过加载 .ui 文件来复制它。
app.py
import os
import sys
from PyQt5 import QtCore, QtWidgets, uic
scriptPath = os.path.dirname(os.path.realpath(__file__))
uiFile = 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):
print(p)
self.subwindow.show()
self.mdiArea.tileSubWindows()
def main():
app = QtWidgets.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
app.py 与未停靠的子窗口一起运行

森林海
MMTTMM
随时随地看视频慕课网APP
相关分类