Новичок
Профиль
Группа: Участник
Сообщений: 7
Регистрация: 6.9.2015
Репутация: нет Всего: нет
|
Поясните как передавать правильно данные из одной формы в другую? Задача такая, из главной формы получается передать текст во вторую ( Вывожу в lineedit ). Из второй на главную в lineedit когда передаю закрывается окно. Объясните как исправить? вот код главного файла: main.py Код | #!/usr/bin/python3 # -*- coding: utf-8 -*- import sys from gui import * from gui2 import * from PyQt5 import QtCore, QtGui, QtWidgets class StartMyMain(QtWidgets.QMainWindow, Ui_MainWindow): def __init__(self, parent=None): super().__init__(parent, QtCore.Qt.Window) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.pushButton.clicked.connect(self.trik) def trik(self): self.aboutshow1 = AboutUs() self.aboutshow1.show() self.aboutshow1.lineEdit.setText('Наш текст') # Из главной формы передается во вторую self.close() class AboutUs(QtWidgets.QMainWindow, Ui_MainWindow1): def __init__(self, parent=None): super().__init__(parent, QtCore.Qt.Window) self.setupUi(self) self.pushButton.clicked.connect(self.aboutshow) def aboutshow(self): strQ = self.lineEdit.text() print(strQ) self.mainwindow = StartMyMain() self.mainwindow.lineEdit.setText(strQ)# Из второй формы передаю в первую, ОКНО КРАШИТСЯ self.close() if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) myapp = StartMyMain() myapp.show() sys.exit(app.exec_())
|
Код формы: gui.py Код | # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'gui.ui' # # Created by: PyQt5 UI code generator 5.5 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(488, 352) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.lineEdit = QtWidgets.QLineEdit(self.centralwidget) self.lineEdit.setGeometry(QtCore.QRect(30, 20, 421, 51)) self.lineEdit.setObjectName("lineEdit") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(120, 90, 251, 28)) self.pushButton.setObjectName("pushButton") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(80, 180, 181, 71)) self.label.setObjectName("label") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 488, 26)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.pushButton.setText(_translate("MainWindow", "Вызвать форму")) self.label.setText(_translate("MainWindow", "текст какой то"))
|
gui2.py Код | # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'gui2.ui' # # Created by: PyQt5 UI code generator 5.5 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow1(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(495, 306) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(60, 10, 371, 51)) self.label.setStyleSheet("font: 16pt "MS Shell Dlg 2";") self.label.setObjectName("label") self.lineEdit = QtWidgets.QLineEdit(self.centralwidget) self.lineEdit.setGeometry(QtCore.QRect(30, 60, 421, 61)) self.lineEdit.setObjectName("lineEdit") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(130, 140, 221, 28)) self.pushButton.setObjectName("pushButton") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 495, 26)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.label.setText(_translate("MainWindow", "Тут пишем наш текст")) self.pushButton.setText(_translate("MainWindow", "отобразить"))
|
|