gpt4 book ai didi

Qt Key Pressevent Enter

转载 作者:行者123 更新时间:2023-12-04 13:32:06 25 4
gpt4 key购买 nike

void LoginModle::keyPressEvent(QKeyEvent *event)
{
qDebug() << event->key() << "\t" << Qt::Key_Enter << "\t" << QKeyEvent::Enter;
if( event->key() == Qt::Key_Enter)
OKButtonClicked();
else
QDialog::keyPressEvent(event);
}

这段代码很简单,类 LoginModle继承自 QWidget .运行此代码,当我按 Enter 时,它显示:
16777220     16777221    10

这意味着我的键盘输入是 16777220 ,但在 Qt 中,它被定义为 16777221 .

我的系统是 Elementary OS (Freya),它基于 Ubuntu 14.04。

我的驱动程序有问题还是程序有问题?

最佳答案

Qt::Key_Enter 引用的 Enter 键是数字键盘上的 Enter 键。您正在按键盘上字母旁边的“Enter”键。这被称为 Return 键,其值由 Qt::Key_Return 表示。 ,等于 16777220。

因此,为了支持两个按键,您可以修改 if 语句如下:

if( (event->key() == Qt::Key_Enter) || (event->key() == Qt::Key_Return))
OKButtonClicked();
else
QDialog::keyPressEvent(event);

关于Qt Key Pressevent Enter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25637171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com