a到z的键盘字母在Qt的keyPressEvent中不起作用
Keyboard letters of a to z are not working in keyPressEvent in Qt
我在我的应用程序中使用KeyPressEvent
。但是从 a 到 z 的字母不起作用。
void mywindow::keyPressEvent(QKeyEvent *event)
{
switch(event->key())
{
case Qt::Key_Left:
break;
}
}
这工作正常
但是当我使用Key_R
或Key_L
它不起作用时。
编辑:keyReleaseEvent使用这些字母。
试试这个:
void SimpleWidget::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_R)
{
// Key R was pressed
}
}
或者,您可以使用QString QKeyEvent::text () const
方法简单地检查键值。
不确定你还需要它,但也许有人会。
我处于同样的情况,当按 a 到 z 字母时,没有事件发送到我的 QMainWindow,但 ctrl、cmd、alt 或 esc...正在工作。
我解决了在构造函数中添加它的问题。
this->setFocusPolicy ( Qt::StrongFocus );
阅读集焦点策略文档
然后
MyQMainWindow::keyPressEvent(:keyPressEvent(QKeyEvent *pevent)
{
if (pevent->key() == Qt::Key_Control)
qDebug() << "ctrl pressed";
if (pevent->key() == Qt::Key_A)
qDebug() << "a pressed";
}
相关文章:
- Qt VTK交互风格的信号到小部件
- QT在错误的班级中寻找空位
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 如何在Qt C++中更改光标
- 如何在MS Visual Studio 2019中运行QT UI
- QT通过C++添加映射QML项目
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用Qt C++计算类似Git的SHA1哈希
- Qt focusObjectChanged example?
- 如何在cpp文件之间切换窗口?在Qt中
- Qt和C++:将QLineEdit添加到QTabWidget中
- 如何从qml Keys.oPressed调用qt keyPressEvent(QKeyEvent*事件)
- a到z的键盘字母在Qt的keyPressEvent中不起作用
- Qt C++如何在类中使用 keyPressEvent 进行 QWidget
- Qt keyPressEvent Error
- Qt keyPressEvent不注册时W/A/S/D键按下
- Qt多个键在keypressevent()