第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 qtDesigner 將子窗口??吭?pyqt5 的 MDI 區(qū)域中

如何使用 qtDesigner 將子窗口??吭?pyqt5 的 MDI 區(qū)域中

森林海 2023-01-04 11:32:38
我正在嘗試在 pyqt5 的 MDI 區(qū)域中創(chuàng)建一個子窗口,使用 .ui 文件作為我的主窗口。當(dāng)我觸發(fā)顯示子窗口的操作時,它顯示為一個單獨的窗口(未按預(yù)期??吭?MDI 區(qū)域中)。我已經(jīng)嘗試通過本教程 ( codeloop.org MDI Area Tutorial ) 添加子窗口并且它工作正常,但我無法通過加載 .ui 文件來復(fù)制它。app.pyimport osimport sysfrom PyQt5 import QtCore, QtWidgets, uicscriptPath = 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 與未??康淖哟翱谝黄疬\行
查看完整描述

1 回答

?
MMTTMM

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()


查看完整回答
反對 回復(fù) 2023-01-04
  • 1 回答
  • 0 關(guān)注
  • 267 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號