crossplatform.ru

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


  Ответ в Проверка нажатия кнопки ОК
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
AD Дата 26.8.2008, 17:23
  Нашел!
Цитата
Constant
Value
QDialog::Accepted 1
QDialog::Rejected 0


P.S. решение практически одновременно нашли! :)
Litkevich Yuriy Дата 26.8.2008, 17:22
  ты можешь сделать так
connect(MyDialog, SIGNAL(finished ( int)), this, SLOT(MySlot(int)));

где MyDialog, наследник QDialog и
MyClass::MySlot (int result)
{
   if (result == QDialog::Accepted)
   {
        // Ок
   }
   else
   {
        // Cansel
   }
}
AD Дата 26.8.2008, 17:16
 
Цитата(Litkevich Yuriy @ 26.8.2008, 18:05) *
стандартные сигналы:
void accepted ()
void finished ( int result )
void rejected ()

QDialog Class Reference

Видел я этот пример. Я все-равно не понимаю. Там нет решения. Причем неясно, чем является findNext() - сигналом или слотом? ну серьезно, не понимаю, как? Неужели создавать свои переменные булевского типа и менять значение при входе в слоты нажатия OK, Cancel?
Litkevich Yuriy Дата 26.8.2008, 17:05
  Пример из Асистента:
// A modeless dialog: 
void EditorWindow::find()
{
     if (!findDialog) {
         findDialog = new FindDialog(this);
         connect(findDialog, SIGNAL(findNext()), this, SLOT(findNext()));
     }

     findDialog->show();
     findDialog->raise();
     findDialog->activateWindow();
}


и стандартные сигналы:
void accepted ()
void finished ( int result )
void rejected ()

QDialog Class Reference
AD Дата 26.8.2008, 16:45
 
Цитата
Генерируй разные сигналы, а в главном окне на них подпишись.

а можно пример? Что-то до меня не доходит, мозги плавятся. Прошу прощения.
Tonal Дата 26.8.2008, 16:42
  Генерируй разные сигналы, а в главном окне на них подпишись.
AD Дата 26.8.2008, 16:40
  Помогите, пожалуйста! Немного запутался. Есть немодальный диалог, как проверить из главного окна, что на нем нажали кнопку OK, а не Cancel, к примеру?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 14:07