我有几个问题:
- 捕获键盘布局更改事件。
- 获取当前的键盘语言。
- 从我的程序更改键盘布局。
我首先尝试了这个:
bool MyWindow::event(QEvent* e)
{
if (e->type() == QEvent::KeyboardLayoutChange)
qDebug() << "Keyboard Layout Changed";
return QWidget::event(e);
}
但是这种类型的事件永远不会通过。另外,我不知道如何解决其他 2 个问题。
能否请您向我展示有关此问题的最新 Qt 版本或其他跨平台解决方案的任何可行示例?
Qt 5.0.2
Windows 7 Visual Studio 2012
Ubuntu 12.04 G++ 4.7.0
最佳答案
没有跨平台的解决方案来获取键盘语言或从 Qt 中更改其布局。您将需要特定于平台的解决方案:一种用于 Windows,一种用于 X11。我想,将来您也需要 Wayland。
关于c++ - 如何捕捉键盘布局变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17346849/