Форум сайта python.su
добрый день!
я что-то пропустил из работы диалоговых окон…
имеется главное окно приложения с несколькими таблицами с моделями. Из главного окна вызывается диалог №1, а из него еще один диалог №2, который должен кое-что спросить и кое-что отправить модели связанной с главным окном. Вопрос: может ли диалог №2 работать напрямую с главным окном минуя промежуточный диалог №1? Могу ли я parent"ом подсунуть диалогу №2 окружение главного окна?
Спасибо,
-вадим
Офлайн
Чем пользуетесь?
Офлайн
pyqt
Офлайн
Это не ко мне…
Тут я не в теме
Офлайн
Окна диалогов модальные - т.е. блокируют родительские окна, соответственно, я не могу обратиться к таблице “через голову” диалога №1…
Передать эти данные посредством скрытых полей (например QLineEdit) - нельзя т.к. нет скрытых полей в диалоге…
Прервать на время цикл диалога №1 и возобновить после? Или сохранять данные во временном файле (не очень хочется)…
Как в принципе решаются такие задачи независимо от платформы? Что-то никак не могу ответ…
Офлайн
g-kit
Окна диалогов модальные - т.е. блокируют родительские окна, соответственно, я не могу обратиться к таблице “через голову” диалога №1
from PyQt4 import QtGui, QtCore import os import sys class WIDGET(QtGui.QWidget): def __init__(self,parent=None): QtGui.QWidget.__init__(self, parent) self.resize(300, 100) but = QtGui.QPushButton(self) but.clicked.connect(self.dialog1) def dialog1(self): dial1 = QtGui.QDialog(self) dial1.resize(130, 30) dial1.setWindowTitle("dialog1") but = QtGui.QPushButton(dial1) but.clicked.connect(self.dialog2) dial1.exec_() def dialog2(self): dial2 = QtGui.QDialog(self) dial2.resize(150, 50) dial2.setWindowTitle("Dialog2") but = QtGui.QPushButton(dial2) but.clicked.connect(self.act) dial2.exec_() def act(self): self.setStyleSheet('background-color: {0};'.format('#A1EBF8')) app = QtGui.QApplication(sys.argv) main = WIDGET() main.show() sys.exit(app.exec_())
Офлайн