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