Там есть 2 программы Qt.
Одна из них - это нормальная программа, в которой есть QComboBox, это не я проектирую
Я создаю другую, после запуска она скрывается и, если удерживать нажатой KEY_POWER 2 секунды, пока она не появится, вы можете нажать KEY_TAB / KEY_LEFT / KEY_DOWN переместить фокус между двумя кнопками.
Кстати.Чтобы получить ввод с клавиатуры при сокрытии, мой метод читается из / dev / input / event0 в потоке, если чтение KEY_POWER через 2 с показывает его.
void *ThreadMinitorKey(void *arg)
{
struct input_event key_event;
fd = open("/dev/input/event0", O_RDONLY);
while(1) {
len = read(fd, &key_event, sizeof(key_event));
if (len != -1 && key_event.type == EV_KEY) {
if (press_KEW_POWER_2_sec()) {
g_dialog->show();
}
}
}
}
Запустите хорошо
фокус на QComoBox
нажмите клавиатуру KEY_POWER 2 секунды моего окна, фокус на левой кнопке.Внимание к QComboBox, его фон от синий до белый .
нажмите KEY_LEFT / KEY_TAB / KEY_RIGHT, чтобы перейти к другой кнопке.
Ошибка запуска
QComboBox при всплывающем окне
нажатие клавиатуры KEY_POWER 2 секунды мое окно показывает, фокус на левой кнопке.Фон QComboBox по-прежнему синий .
нажмите KEY_DOWN эффект на QComobox