PyQt5メインウィンドウ、ダイアログの子ウィンドウをポップアップ表示するボタンをクリックしてください

下に示すように、まずは、メインウィンドウにはQt Designerで作成し、サブダイアログウィンドウ:
ここに画像を挿入説明
設計が完了した後、2つの別々のファイルの実装が子ウィンドウを呼び出すために、2つのPYファイルに変換、私はいくつかの情報を読んで、基本的に、メインウィンドウにファイルを達成するために、ので、私の実装の下に与えられた、私が欲しいものではなく、新しいファイルを作成し、メインウィンドウを実装し、子ウィンドウを呼び出します。
次のように最初のメインウィンドウのファイルでインポートファイルサブウインドウ、およびウィンドウクラスの初期化コードの子ウィンドウを作成します:

from ChildWindowTest import *

class ChildWin(QtWidgets.QDialog, Ui_Dialog):
    def __init__(self):
        super(ChildWin, self).__init__()
        self.setupUi(self)

コンストラクタのスーパー()は必須です、そうでない場合、彼らは表示サブ画面を呼び出すことができ、子ウィンドウのボタンやその他のコントロールを呼び出すことはできません。
そして、達成するためのポップアップサブウィンドウ機能、子ウィンドウ関数[OK]ボタンの実現は、サブウインドウをクローズクリックして、テキスト・メッセージは、ボックスのメインウィンドウに表示されています。パフォーマンス機能は、メインウィンドウクラスで定義されている達成するために、次のようにコードは次のとおりです。

# 弹出子窗口与实现【确定】按钮功能
    def showDialog(self):
        # 创建子窗口实例
        dialog = ChildWin()
        # 显示子窗口
        dialog.show()
        # 实现子窗口中的【确定】按钮功能
        def pB_OK():
            self.textEdit.setPlainText("子窗口弹出成功!")
            dialog.close()
        # 关联【确定】按钮
        dialog.pushButton.clicked.connect(pB_OK)
        dialog.exec_()

私が直接、内部で定義されているプロのテストの有効厚く、と個人的に再定義するコンビニエンス混乱単独よりも感じた、[OK]ボタン機能!コードdialog.exec_()の最後の行が不可欠であり、多くのサブ・ウィンドウが自動的に閉じに関するポップアップ表示されます!
次のように最後に、子ウィンドウに関連付けられている[開く]ボタンで、その後、メインウィンドウを表示し、コードは、最後の書き込みで実行することができます:

# 设置【打开子窗口】按钮
self.pushButton.clicked.connect(self.showDialog)
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

この表示コードがPYファイルに変換UIで直接使用することを意図している、あなたは別のファイルとクラスを作成する必要はありません!次のような効果を実行した後です。
ここに画像を挿入説明
ここに画像を挿入説明

公開された17元の記事 ウォンの賞賛3 ビュー1805

おすすめ

転載: blog.csdn.net/weixin_43350361/article/details/104842332