crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QT интерфейс, ООП, У меня возник вопрос по ООП +QT
Гость_=DENIS=_*
сообщение 10.2.2012, 19:21
Сообщение #1





Гости








    


Такой вопрос. В документации QT все примеры построены таким образом, создается класс, унаследованный от QWidget (QMainWIndow, ...) и в нем уже производятся действия: построение интерфейса, чтение файла, работа с сетью и т.п. Но мне кажется, что не правильно совмещать класс интерфейса и свои алгоритмы работы программы: работа с файлами, работа с сетью и т.п. Мне кажется, что надо создавать какой-то класс (допустим class Manager) который управляет и интерфейсом(GUI) и основной работой программы. Я прав или нет? Подскажите.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
RazrFalcon
  опции профиля:
сообщение 23.2.2012, 9:37
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Можно в WaitDialog передавать указатель на класс Manger.
WaitDialog::WaitDialog(Manger *manger, QObject *parrent):QDialog(parrent)
{
    cancelButton = new QPushButton(tr("Cancel"));
    connect(cancelButton,SIGNAL(clicked()),manger,SLOT(mySlot());
}

Или при создании самого WaitDialog в классе Manger конектить его с вашим слотом в WaitDialog:
//в Manger создаем waitDialog, а затем:
    connect(waitDialog,SIGNAL(cancelButton_clcked(),this,SLOT(mySlot());

void WaitDialog::cancelButton_clcked() {
}
    //...
{
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_=DENIS=_*_*
сообщение 23.2.2012, 14:48
Сообщение #3





Гости








    


Цитата(RazrFalcon @ 23.2.2012, 9:37) *
Можно в WaitDialog передавать указатель на класс Manger.
WaitDialog::WaitDialog(Manger *manger, QObject *parrent):QDialog(parrent)
{
    cancelButton = new QPushButton(tr("Cancel"));
    connect(cancelButton,SIGNAL(clicked()),manger,SLOT(mySlot());
}

Или при создании самого WaitDialog в классе Manger конектить его с вашим слотом в WaitDialog:
//в Manger создаем waitDialog, а затем:
    connect(waitDialog,SIGNAL(cancelButton_clcked(),this,SLOT(mySlot());

void WaitDialog::cancelButton_clcked() {
}
    //...
{


Да, так можно. А может попробывать сделать что-то подобное интерфейсу?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 14:09