Найти - Пользователи
Полная версия: PyQt4: как передать значение из дочерней формы в главную
Начало » GUI » PyQt4: как передать значение из дочерней формы в главную
1
mmikh
Всем привет.
По-тихоньку осваиваю питон, и который день ломаю голову над проблемой - ничего чтобы помогло не нашел и надеюсь на вашу помощь, подсказки, и просто объяснения что к чему.
Имеется главная форма из которой вызывается дочерняя (форма некоторых настроек). При изменении данных на дочерней и нажатии на кнопку сохранить эта форма должна передавать измененные значения в главную и закрываться.

На данный момент есть следующее:

Форма настроек:
class NetEdit(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QDialog.__init__(self, parent)
self.net_ui = netform.Ui_Dialog()
self.net_ui.setupUi(self)
self.net_ui.pushButton_4.clicked.connect(self.save)

#dic это переменная обновленное значение
#которой необходимо отправить в главную форму
self.dic = 10
def save(self):
self.dic = int(self.net_ui.lineEdit.text())
#в этом месте я думал генерировать сигнал с новым значением
#но как его отправить в родительский класс чутьчуть не понимаю
Главная форма:
class MainWindow(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QDialog.__init__(self,parent)
self.main_ui = mainform.Ui_Dialog()
self.main_ui.setupUi(self)
self.main_ui.pushButton_5.clicked.connect(self.netedit)
self.ne = NetEdit(self)
self.dic = 5 #после дочерней формы эта переменная должна обновится
def netedit(self):
self.ne.setWindowModality(QtCore.Qt.WindowModal)
self.ne.show()
В каком направлении копать?
Спасибо!
Soteric
Так?
parent.dic = self.dic
Studentik
from PyQt4 import Qt as qt
import sys

app = qt.QApplication(sys.argv)
mw = qt.QMainWindow()
fr = qt.QFrame()
fr.lt = qt.QVBoxLayout()
fr.te = qt.QTextEdit()
fr.btn = qt.QPushButton("Dialog")
fr.setLayout(fr.lt)
fr.lt.addWidget(fr.btn)
fr.lt.addWidget(fr.te)
mw.setCentralWidget(fr)

def click(checked):
text, ok = qt.QInputDialog.getText(fr,"Title","Text")
if ok: fr.te.insertPlainText(text+"\n")

fr.btn.clicked.connect(click)

mw.show()
app.exec_()
mmikh
Soteric
parent.dic = self.dic
спасибо, то что надо. только нужно так:
self.parent = parent
...
self.parent.dic = self.dic
Studentik, много нового узнал, спасибо! буду разбираться
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB