|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.01.2014, 14:46 | #1 |
Форумчанин
Регистрация: 02.10.2009
Сообщений: 255
|
Меню, клавиатура
При создании меню столкнулся с такой проблемой.
Я использую QStackedWidget для смены виджетов. Но есть одна проблема. При переходе в главное меню или в меню уровней, окно, иногда, заполняется красным цветом. Я так и не понял почему. Если растянуть окно(вызвать функцию перерисовки), то красный цвет пропадает и окно перерисовывается нормально, отображаются все кнопки и фон меню. Может кто сталкивался с такой проблемой??? Помогите пожалуйста. Второй вопрос. Есть две функции обработки нажатия клавиш на клавиатуре Код:
yes no yes no yes no yes no Вроде раньше строчки pe -> accept(); QWidget::keyPressEvent(pe); и if(pe -> isAutoRepeat()) { return; } спасали, а сейчас нет. Почему???
"Реальность воображаема, а воображаемое - реально" В. Соло
|
26.01.2014, 17:55 | #2 |
Форумчанин
Регистрация: 02.10.2009
Сообщений: 255
|
Кое-что нашел. Если удалить setCentralWidget(game_stack), то идет правильная обработка клавиатуры. Если зажать клавишу то выводится только yes, если потом отпусть то no, а не попеременно. Я так и не понял как виджет game_stack влияет на обработку клавиатуры или мне нужно перегрузить функции обработки клавиатуры в QStackedWidget??
"Реальность воображаема, а воображаемое - реально" В. Соло
|
28.01.2014, 16:27 | #3 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Windows обрабатывает клавиатуру и на нажатие и на отпускание клавиш. Каждому событию назначается разный код. Попробуйте посчитать в переменной число нажатий и выполнять действие по истечении нужного вам числа, ...после выполнения обнуляйте переменную счётчика.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
28.01.2014, 19:58 | #4 |
Форумчанин
Регистрация: 02.10.2009
Сообщений: 255
|
Я на Линуксе программирую!
"Реальность воображаема, а воображаемое - реально" В. Соло
|
28.01.2014, 20:21 | #5 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Не имеет значения, счётчик программируется вручную. Одно нажатие -> запись в переменную +1, наберётся 2 -> сменить флаг на "no", переменную обнулить. Пока счётчик числится как 1, будет "Yes". Улавливаете?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
29.01.2014, 01:26 | #6 |
Форумчанин
Регистрация: 02.10.2009
Сообщений: 255
|
Дело в том, что когда я запускал программу на линуксе, то вывод программы меня не устраивал, а когда я эту же программу запустил на видовсе, то все заработало правильно. Улаваливаете?
"Реальность воображаема, а воображаемое - реально" В. Соло
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
клавиатура | kaljan775 | Общие вопросы C/C++ | 2 | 23.11.2010 01:48 |
Клавиатура | zumm | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 27.06.2010 11:16 |
клавиатура и си | itwaswritten | Помощь студентам | 1 | 19.05.2010 14:47 |
Клавиатура | RealSHELS | Общие вопросы Delphi | 6 | 29.03.2008 15:52 |
Клавиатура | Pusher | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 22.03.2008 00:47 |