crossplatform.ru

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

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> QT интерфейс, ООП, У меня возник вопрос по ООП +QT
Sokoloff
  опции профиля:
сообщение 24.2.2012, 11:13
Сообщение #11


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

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




Репутация:   11  


Цитата(Гость_=DENIS=_* @ 22.2.2012, 23:51) *
Как правильно свзяать сигнал кнопки с внешним слотом (находится в основном классе Manger). Сделать механизм, подобный интерфейса, или сдалеать в WaitDialog функцию, в которую буду передавать SLOT(mySlot())???

Я бы сделал что-то вроде

Если не надо обрабатывать клик в WaitDialog.
//waitdialog.h
class WaitDialog: public QDialog
{
...

signals:
   void closeBtnClicked();
}

//waitdialog.cpp

WaitDialog::WaitDialog(QObject *parrent):QDialog(parrent)
{
    ...
    cancelButton = new QPushButton(tr("Cancel"));
    connect(cancelButton, SIGNAL(clicked()), this, SIGNAL(closeBtnClicked()));
}



Если WaitDialog должен что-то делать перед или после клика.
//waitdialog.h
class WaitDialog: public QDialog
{
...

private slots:
   void closeBtnClickedSlot();

signals:
   void closeBtnClicked();
}

//waitdialog.cpp

WaitDialog::WaitDialog(QObject *parrent):QDialog(parrent)
{
    ...
    cancelButton = new QPushButton(tr("Cancel"));
    connect(cancelButton, SIGNAL(clicked()), this, SLOT(closeBtnClickedSlot()));
}

void WaitDialog::closeBtnClickedSlot()
{
   ...
   emit closeBtnClicked();
   ...
}


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 24.2.2012, 21:24
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Не знаю для чего соединять кнопку Cancel со слотом, но может поможет...
Посмотри на QProgressDialog, в документации есть пример как его показывать и как обрабатывать нажатие Cancel.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




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