0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

QtDesigner の作る .py でメインウインドウから ダイアログを呼び出して値を受けとるまで

Last updated at Posted at 2020-05-21

備忘録かつ添削をお願いしたく。
.uiから pyside2-uic で生成される .py ファイル2つで、メインウインドウからダイアログを呼び出して値を受けとるまで。
setupUi利用の例として別な場面でも使えるのではと思います。

メインウインドウ側

main.py
#当該部分のみ
from dia import Ui_Dialog #ダイアログ側呼び込み

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
 
#メイン側のsetupUiの中で、自身の持ち物としてQDialogを作り、ダイアログ側に渡してsetupUiしてもらう

        self.Dialog = QtWidgets.QDialog()
        sub = Ui_Dialog()
        sub.setupUi(self.Dialog)

#ダイアログ利用する場面で呼び出す
    def opendialog(self):
        result = self.Dialog.exec_()
        t = self.Dialog.findChild(QtWidgets.QLineEdit,"hogeLineEdit")
        print(result)
        print( t.text())

ダイアログ側

dia.py

#setGeometry関係カットしてあります

class Ui_Dialog(object):
    def setupUi(self, Dialog):

        Dialog.setObjectName("Dialog")

        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)

        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName("buttonBox")
        self.lineEdit = QtWidgets.QLineEdit(Dialog)
        self.lineEdit.setObjectName("hogeLineEdit")

        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), Dialog.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

なんだかUiクラスの意味と使い方もつかめたように思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?