私はQTデザイナーで次のコードPyqtでウィジェットの親を正しく設定する方法は?
from PyQt5 import QtCore, QtGui, QtWidgets
from mw import Ui_MainWindow as mwin
from wd import Ui_Form as wdg
class widget(QtWidgets.QWidget):
def __init__(self,parent = None):
super(widget,self).__init__(parent)
self.ui = wdg()
self.ui.setupUi(self)
self.show()
class Main(QtWidgets.QMainWindow):
def __init__(self,parent = None):
super(Main,self).__init__(parent)
self.ui = mwin()
self.ui.setupUi(self)
self.show()
w = widget(self)
import sys
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mn = Main()
sys.exit(app.exec_())
宇井生成されていて、別のファイルからインポートされます。
コードを実行すると、メインウィンドウとウィジェットの両方がマージされ、メインウィンドウを閉じるとセグメンテーションフォルトが発生します。
ウィジェットの親を[なし]に設定すると問題は発生しますが、ウィジェットには親がありません。
私は何が間違っていて、ウィジェットの親としてメインウィンドウを正しく設定するのか理解できません。
を使用しています。それらを削除し、QApplicationを開始する前にmn.show()を呼び出します。 –
mwinとwdgコードも追加できますか? –