Я использую Qt 4.6.3 и ubuntu linux на встроенной цели. Я звоню
dlg->setWindowState(Qt::WindowFullScreen);
на моих окнах в моем приложении (поэтому я не теряю никакой недвижимости с сенсорного экрана на панель задач и панель состояния в верхней и нижней частях экрана. Все это работает нормально и как и ожидалось. когда я хочу открыть экранную клавиатуру, чтобы пользователь мог ввести некоторые данные. Я использую
m_keyProc= new QProcess();
m_keyProc->start("onboard -s 640x120");
Появляется клавиатура, но она находится за полноэкранным окном. Настройки клавиатуры onbaord установлены так, что она всегда сверху, но это, кажется, фактически означает «кроме полноэкранных окон». Я думаю, что это имеет смысл и, вероятно, соответствует большинству вариантов использования, но мне нужно, чтобы он был действительно на вершине.
Могу ли я А) Не быть в полноэкранном режиме (чтобы клавиатура работала) и программно скрывать панели задач? или B) заставить клавиатуру быть на вершине, несмотря на мой статус полного экрана?
Примечание: на окнах мы называем
m_keyProc->start("C:\\Windows\\system32\\osk.exe");
и клавиатура osk находится сверху, несмотря на состояние полного экрана. Итак, я предполагаю, что это разница в менеджерах окон в разных операционных системах. Так мне нужно установить какой-нибудь флаг в окне с помощью менеджера окон linux?