2016-11-25 16 views
0

私はQtDesignerを使用してファイルを.uiするために作成したと私はPyCharmでコードを実行すると、私はPyQt5:TypeError例外:「トップレベルウィジェットの間違った基底クラスの

class MainWindow(QMainWindow): 
    def __init__(self, parent=None): 
     super().__init__() 

     # Set up the user interface from Designer. 
     uic.loadUi("interface/UI/main.ui", self) 

     # Connect up the buttons 
     self.button_classes.clicked.connect(self.open_classes) 

     self.w = [] 

    def open_classes(self): 
     self.w.append(PopupWindow(self)) 
     self.w[-1].show() 


class PopupWindow(QMainWindow): 
    def __init__(self, parent=None): 
     super().__init__() 

     # Set up the user interface from Designer. 
     uic.loadUi("interface/UI/newclass.ui", self) 

下記のショーとして2つの別々のウィンドウにロードデバッグモードでは、次のようなエラーが発生したが、これはコードはあなたがメッセージ'Wrong base class of toplevel widget', (<class 'controllers.GUI.NewClassWindow'>, 'QDialog'))QDialogを持っている通常

TypeError: ('Wrong base class of toplevel widget', (<class 'controllers.GUI.PopupWindow'>, 'QDialog')) 
+0

console/terminal/cmd.exe/powershellで実行するとエラーメッセージが表示されますか?問題の完全なエラーメッセージを追加してください。 – furas

+0

@furas Pythonのデバッグモードでコードを実行すると、私が質問に追加した型エラーが発生します – Ronikos

+1

あなたにメッセージがあります。 (QMainWindow)で 'QMainWindow'を使用しています:' QMainWindow'を 'QMainWindow'で使用すると思います。 ' – furas

答えて

1

実行されたときに、私はそれはあなたが第二のウィンドウを作成するためにQDialogを使用見込んだと思うが、あなたがQMainWindowを使用して発生しません。 class PopupWindowONE(QMainWindow):

関連する問題