これはmdiWindowです。 openChildWindow
アクションが新しい子ウィンドウを開きます。しかし、クラスの代わりにインポートを使用しようとしています。私はちょうど長いコード行の代わりにコード行を短くしたい。私はchild2.py
の部分だけmain.py
の部分を使用しようとしていますが、動作しません。 import child2.py
は新しいmdiChildWindowを作成しません。Python3 import module.py main.pyのコード部分
main.py
import sys, time
from PyQt5 import uic
from PyQt5.QtWidgets import QMainWindow, QApplication
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
uic.loadUi("mainWindow.ui",self)
self.actionChildWindow.triggered.connect(self.openChild)
self.actionChildWindow2.triggered.connect(self.openChild2)
def openChild(self):
childWindow=openChild("child.ui")
childWindow.add(self.mdiArea)
def openChild2(self):
import child2
child2.childWindow2=openChild2("child2.ui")
child2.childWindow2.add(self.mdiArea)
class openChild(QMainWindow):
def __init__(self,modul):
super().__init__()
uic.loadUi(modul,self)
def add(self,addToMainWindow):
addToMainWindow.addSubWindow(self)
self.show()
def main():
app = QApplication(sys.argv)
ex = MainWindow()
ex.show()
sys.exit(app.exec_())
if __name__ =='__main__':
main()
child2.py
class openChild2(QMainWindow):
def __init__(self,modul):
super().__init__()
uic.loadUi(modul,self)
def add(self,addToMainWindow):
addToMainWindow.addSubWindow(self)
self.show()
申し訳ありませんが、私は本当にあなたの質問を理解していない、少し明確に説明しようとすることができますか? – Scheme
actionChildWindowは動作していますが、actionChildWindow2は機能しません。 – Aruz