Russian Qt Forum
Ноябрь 26, 2024, 06:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Эвенты  (Прочитано 4021 раз)
keekdown
Гость
« : Май 18, 2013, 18:44 »

Всем привет!У меня есть вопрос по поводу events.Я создал в своей программе modal dialog и хочу чтобы оно сграббело одну единственную клавишу,т.е по простому "попросить пользователя нажать клавишу".Как это сделать?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Май 18, 2013, 19:12 »

keyPressEvent
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
keekdown
Гость
« Ответ #2 : Май 18, 2013, 19:16 »

Ну этот виртуальный метод у меня есть и все,что я нажимаю-выводится.Мне нужно нажать и сразу закрыть Диалоговое окно.Как закрыть диалоговое окно?
Записан
Serr500
Гость
« Ответ #3 : Май 18, 2013, 19:22 »

QDialog::close()
Записан
keekdown
Гость
« Ответ #4 : Май 18, 2013, 19:27 »

QDialog::close()
Агась,спс.Прочел в доке,что close() это метод класса Qwidget,а QDialog::Done(int) тоже самое,но устанавливает результат выполнения кода во временный обьект.
« Последнее редактирование: Май 18, 2013, 19:32 от keekdown » Записан
Serr500
Гость
« Ответ #5 : Май 18, 2013, 19:30 »

А как Вы думаете?
Записан
keekdown
Гость
« Ответ #6 : Май 18, 2013, 19:34 »

А как Вы думаете?
А там 100500 методов.closeEvent() done() , close() -не чувствую полиморфизма)
Записан
Serr500
Гость
« Ответ #7 : Май 18, 2013, 19:41 »

При чём тут полиморфизм? Там же написано QDialog::close(). Вы же говорили о диалоге. А теперь оказалось, что диалогом он является только в вашей терминологии, а на самом деле он виджет. Слот close введён в QWidget и наследуется в QDialog.

P.S. Судя по вашей последней фразе, Вы не понимаете что такое полиморфизм.
Записан
keekdown
Гость
« Ответ #8 : Май 18, 2013, 19:46 »

При чём тут полиморфизм? Там же написано QDialog::close(). Вы же говорили о диалоге. А теперь оказалось, что диалогом он является только в вашей терминологии, а на самом деле он виджет. Слот close введён в QWidget и наследуется в QDialog.

P.S. Судя по вашей последней фразе, Вы не понимаете что такое полиморфизм.
Я полностью понимаю что такое полиморфизм.Есть два класса один базовый,другой производный.Они имеют общее поведение-"закрыться".Диалог-это в общем понимании виджет,потому что он унаследован от него.Done() and Close() в контексте этих двух классов означают одно и тоже,просто один из них возращает результат выполнения кода.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.084 секунд. Запросов: 23.