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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: программа для мобильного телефона  (Прочитано 2275 раз)
richardzorgi
Гость
« : Июнь 26, 2011, 18:01 »

Всем доброго времени суток! Ситуация следующая: программа для мобильного телефона. Есть QTextBrouser, кнопка. В QTextBrouser по нажатию  выводится фрагмент текста из ресурсного файла. Нажимаем на кнопку ещё раз -> выводится следующий фрагмент и т.д.
  Проблема в следующем: при запуске приложения в Эмуляторе Qt (когда на экране появляется мобильный телефон, приложение запущено в мобильном) можно пользоваться курсором мыши, нажимать на  QTextBrouser(для прокрутки текста, если текст не умещается на экране), потом нажимать на кнопку. При запуске непосредственно на мобильном телефоне (не сенсорном(Nokia E52)- на сенсорном проблемы нет) курсора нет, можно просто нажимать на центр джойстика(центральная клавиша без цифр), кнопка нажимается, текст выводится. Если текст слишком большой, то появляется полоса прокрутки, можно джойстиком перейти вверх - выделится QTextBrouser, нажимаем на QTextBrouser, теперь можем прокручивать текст вверх\вниз. Прочитав текст, нужно нажать на кнопку, чтобы вывелся следующий фрагмент.

 Вопрос: как перейти обратно к кнопке, чтобы её нажать (что нужно сделать, чтобы "отпустить" QTextBrouser?)?

  Можно вообще убрать из приложения кнопку, привязав нужный слот к кнопкам телефона. Вопрос: Как это сделать(привязать действие к кнопке мобильного телефона (например к нажатию "вправо" на джойстике))?
 У кнопки (pushbutton) есть свойство "shortcut" - можно присвоить нажатию кнопки на клавиатуре нажатие pushbutton. При запуске приложения в эмуляторе (мобильник на экране компьютера) нажатие (мышкой) на кнопку (например с цифрой "5") кнопка pushbutton нажимается, но при запуске в мобильном телефоне нажатие на "5" ни к чему не приводит.

QT SDK1.1, QT Creator 2.2.0, windows
« Последнее редактирование: Июнь 26, 2011, 18:03 от richardzorgi » Записан
richardzorgi
Гость
« Ответ #1 : Июль 03, 2011, 22:42 »

Проблема решена, нужно использовать keyPressEvent, помогло сообщение из темы  "keyPressEvent(), event->key() и QString"
Спасибо! Улыбающийся, а вот еще по поводу QKeyEvent::modifiers(). Там же и остальные клавиши нужно хватать через него? Например F1, Home, Del и т.д. А получится вот таким образом?
Код
C++ (Qt)
void MainWindow::keyPressEvent(QKeyEvent *event)
{
 switch (event->key())
     {
           case Qt::Key_Shift: //нажат Shift;
                                      break;
           case Qt::Key_Alt: //нажат Alt;
                                      break;
              .
              .
              .
           default: break;
     }
}
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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