Название: Qt и всплывающие формы (диалоги, QWidget, QDialog) Отправлено: SABROG от Апрель 16, 2007, 14:46 Мое слабое место это понимание особенностей классов, хочу сделать так:
- есть главное окно, наследник от QMainWindow, это один .ui файл - есть несколько .ui форм. Я хочу, чтобы из каждой формы были доступны любые компоненты QMainWindow. Понятно, что внутри класса не видно методы и объекты другого класса. Я так понимаю надо передавать в каждый класс указатель на моего наследника QMainWindow. Можете примерчик подкинуть главной формы, которая вызывает наследника модального QDialog'а, который в свою очередь меняет что-либо на главной форме изнутри, например текст в QLineEdit. А то видимо у меня проблема с оформлением наследия, т.к. компилятор не видет ни setupUi, ни ui.setupUi, ни setIcon в QDialog'e, да еще не хочет указатель на главную форму впихнуть в приватную переменную, т.к. дефолтное значение указателя 0, я его специально нулем и сделал, если ничего другого не передасться, чтобы проверить, но видимо я чего-то недопонимаю. Название: Qt и всплывающие формы (диалоги, QWidget, QDialog) Отправлено: DenKa от Апрель 16, 2007, 15:11 Актуальный вопросс для меня. Пытаюсь изменять язык и стиль приложения из всплывающего окна по кнопке "применить". Но пока изменения вступают в силу только после закрытия модального окна.
Код:
connect не срабатывает, но нет и ошибок. Название: Qt и всплывающие формы (диалоги, QWidget, QDialog) Отправлено: Gryz от Апрель 16, 2007, 15:29 http://gryz.narod.ru/Programs/MainWindowSample.rar
добавлено спустя 1 минуту: правда у меня все делается в конструкторе, но несложно на другие методы вызов переправить :) Название: Qt и всплывающие формы (диалоги, QWidget, QDialog) Отправлено: SABROG от Апрель 16, 2007, 15:29 Попробуй update() сделать главной формы из модальной.
Я кажись разобрался как это работает. Вот мой каркас, вроде все работает. //header Код:
//source Код:
//main Код:
Название: Qt и всплывающие формы (диалоги, QWidget, QDialog) Отправлено: Gryz от Апрель 16, 2007, 15:34 Цитата: "Gryz" http://gryz.narod.ru/Programs/MainWindowSample.rar добавлено спустя 1 минуту: сорри. к полям формы пока нельзя доступ получить. правда у меня все делается в конструкторе, но несложно на другие методы вызов переправить :) Название: Qt и всплывающие формы (диалоги, QWidget, QDialog) Отправлено: SABROG от Апрель 16, 2007, 15:35 Цитата: "DenKa" connect не срабатывает, но нет и ошибок. Может сигнал не тот ? Я так использую комбобокс со стилем: Код:
Т.е. сигнал currentIndexChanged ловлю Gryz: спасибо, будем изучать варианты Название: Qt и всплывающие формы (диалоги, QWidget, QDialog) Отправлено: Gryz от Апрель 16, 2007, 15:43 выложил подправленную версию. На главном окошке меняем текст QLabel
Название: Qt и всплывающие формы (диалоги, QWidget, QDialog) Отправлено: DenKa от Апрель 16, 2007, 19:41 Цитата: "SABROG" Я так использую комбобокс со стилем: Код:
Т.е. сигнал currentIndexChanged ловлю Событие on_cbStyles_currentIndexChanged создано констуктором форм (Qt3)? А как быть в Qt4? Название: Qt и всплывающие формы (диалоги, QWidget, QDialog) Отправлено: SABROG от Апрель 16, 2007, 21:44 У меня qt-win-opensource-src-4.3.0-snapshot-20070327, а у тебя 4.4.0 чтоль ?
Через connect, если не нравится готовые события, сигнал currentIndexChanged. |