Так я начал изучать питон с PySide для разработки GUI, я был с помощью конструктора QT для скорости и преобразования .ui файлов .pyОткрытие диалогового окна ребенка из главного окна с PySide
I в настоящее время есть «главное окно» ui и «about» ui (основное окно было настроено как основное окно, а около было пустое диалоговое окно)
Как открыть диалоговое окно из главного окна? Следующий код открывает главное окно из моего main.py
class MainWindow(QMainWindow, mainwindow.Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
app = QApplication(sys.argv)
form = MainWindow()
form.show()
app.exec_()
, что все работает нормально, это открывает главное окно. В моем главном окне есть пункты меню, один из которых является «о» выбором, когда пользователь нажимает на него, я хочу, чтобы он открыл другой диалог, который я создал, как я могу это сделать?
В mainwindow.py (преобразованного из Ui) есть такие ссылки:
self.actionAbout_mailer_0_0_1 = QtGui.QAction(MainWindow)
self.actionAbout_mailer_0_0_1.setObjectName("actionAbout_mailer_0_0_1")
self.menuAbout.addAction(self.actionAbout_mailer_0_0_1)
И about.py (конвертируется из Ui) выглядит следующим образом:
from PySide import QtCore, QtGui
class About_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 300)
self.aboutLbl = QtGui.QLabel(Dialog)
self.aboutLbl.setGeometry(QtCore.QRect(110, 40, 171, 16))
self.aboutLbl.setObjectName("aboutLbl")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "Dialog", None, QtGui.QApplication.UnicodeUTF8))
self.aboutLbl.setText(QtGui.QApplication.translate("Dialog", "Mailer version 0.0.1 by .....", None, QtGui.QApplication.UnicodeUTF8))
Я полагаю, что мне нужно для создания новой функции внутри mainwindow.py, когда при вызове открывается диалоговое окно about, я не знаю, что добавить в эту функцию, я также смущен слотами и соединениями, если кто-то может помочь мне с некоторым примером кода, который было бы замечательно.
EDIT:
Я выяснил функцию часть кода, до сих пор выяснить, как подключиться к меню, но я подключен к нажатию кнопки, которая выполняет этот метод, который затем открывает все прекрасно:
def openAbout(self):
aboutDialog = QtGui.QDialog(self)
aboutUi = about.About_Dialog()
aboutUi.setupUi(aboutDialog)
aboutDialog.show()