QT интерфейс, ООП, У меня возник вопрос по ООП +QT |
Здравствуйте, гость ( Вход | Регистрация )
QT интерфейс, ООП, У меня возник вопрос по ООП +QT |
Гость_=DENIS=_* |
10.2.2012, 19:21
Сообщение
#1
|
Гости |
Такой вопрос. В документации QT все примеры построены таким образом, создается класс, унаследованный от QWidget (QMainWIndow, ...) и в нем уже производятся действия: построение интерфейса, чтение файла, работа с сетью и т.п. Но мне кажется, что не правильно совмещать класс интерфейса и свои алгоритмы работы программы: работа с файлами, работа с сетью и т.п. Мне кажется, что надо создавать какой-то класс (допустим class Manager) который управляет и интерфейсом(GUI) и основной работой программы. Я прав или нет? Подскажите.
|
|
|
BRE |
10.2.2012, 19:30
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Прав. В идиале GUI должен легко убираться/заменяться на другой без ущерба для функциональности программы.
|
|
|
Гость_Гость_=DENIS=_*_* |
10.2.2012, 19:48
Сообщение
#3
|
Гости |
Прав. В идиале GUI должен легко убираться/заменяться на другой без ущерба для функциональности программы. Так почему же в офф документации так пишут, для наглядности? И такой вопрос, как в QtDesignet назначить для основной формы основной мнеджер компановки, назначаемый функцией setLayout(QLayout *l); Что-то не нашел такого. |
|
|
Гость_Гость_=DENIS=_*_* |
10.2.2012, 19:51
Сообщение
#4
|
Гости |
И как мне тогда лучше поступать, делать в С++ что-то подобное на интерфейсы в Java или передавать указатели на функции в интерфейс, чтобы эти функции выполнялись по нажатию кнопки?
|
|
|
BRE |
10.2.2012, 20:03
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Так почему же в офф документации так пишут, для наглядности? Это примеры, показывающие функционал Qt, а не то как правильно писать программы с использованием Qt. И такой вопрос, как в QtDesignet назначить для основной формы основной мнеджер компановки, назначаемый функцией setLayout(QLayout *l); Что-то не нашел такого. Выбираешь саму форму и выбираешь тип компановки в меню "Форма". И как мне тогда лучше поступать, делать в С++ что-то подобное на интерфейсы в Java или передавать указатели на функции в интерфейс, чтобы эти функции выполнялись по нажатию кнопки? В тех классах, объекты которых будут взаимодействовать с GUI, определять слоты и соединять сигналы от кнопок со слотами этих объектов-обработчиков. |
|
|
Гость_Гость_=DENIS=_*_* |
12.2.2012, 10:05
Сообщение
#6
|
Гости |
Спасибо за помощь.
|
|
|
Гость_Гость_=DENIS=_*_* |
22.2.2012, 22:51
Сообщение
#7
|
Гости |
Есть класс WaitDialog унаследованный от QDialog
Как правильно свзяать сигнал кнопки с внешним слотом (находится в основном классе Manger). Сделать механизм, подобный интерфейса, или сдалеать в WaitDialog функцию, в которую буду передавать SLOT(mySlot())??? |
|
|
RazrFalcon |
23.2.2012, 9:37
Сообщение
#8
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Можно в WaitDialog передавать указатель на класс Manger.
Или при создании самого WaitDialog в классе Manger конектить его с вашим слотом в WaitDialog:
|
|
|
Гость_Гость_=DENIS=_*_* |
23.2.2012, 14:46
Сообщение
#9
|
Гости |
Можно в WaitDialog передавать указатель на класс Manger.
Или при создании самого WaitDialog в классе Manger конектить его с вашим слотом в WaitDialog:
|
|
|
Гость_Гость_=DENIS=_*_* |
23.2.2012, 14:48
Сообщение
#10
|
Гости |
Можно в WaitDialog передавать указатель на класс Manger.
Или при создании самого WaitDialog в классе Manger конектить его с вашим слотом в WaitDialog:
Да, так можно. А может попробывать сделать что-то подобное интерфейсу? |
|
|
Текстовая версия | Сейчас: 29.11.2024, 11:20 |