2013-06-27 131 views
2

我有幾個問題:如何捕捉鍵盤佈局變化

  • 捕捉鍵盤佈局更改事件。
  • 獲取當前的鍵盤語言。
  • 從我的程序中更改鍵盤佈局。

我想這第一:

bool MyWindow::event(QEvent* e) 
{ 
    if (e->type() == QEvent::KeyboardLayoutChange) 
     qDebug() << "Keyboard Layout Changed"; 

    return QWidget::event(e); 
} 

但這種類型的事件從來沒有通過。另外,我不知道如何解決其他兩個問題。

您能否告訴我關於這個問題的最新Qt版本或其他跨平臺解決方案的任何可行示例?

的Qt 5.0.2
Windows 7中的Visual Studio 2012
的Ubuntu 12.04 G ++ 4.7.0

+0

這是Qt 5的迴歸:https://bugreports.qt-project.org/browse/QTBUG-27681 – Mitch

+0

@Mitch謝謝。我以前沒有看到這個報告。 – DeadWarlock

回答

0

沒有跨平臺的解決方案,使鍵盤語言或從內部的Qt改變其佈局。您需要特定於平臺的解決方案:一個用於Windows,一個用於X11。在未來,你會需要韋蘭德,我猜想。