gpt4 book ai didi

qt - QPushButton 和快捷方式

转载 作者:行者123 更新时间:2023-12-02 19:28:29 26 4
gpt4 key购买 nike

我在使用 Qt 4.6.0 和 QPushButtons 快捷方式时遇到问题:

当用户单击按钮时,我想在QTextEdit中显示特殊文本,但仅当按下按钮时,如下一旦发布,我希望出现另一个文本。

一切正常,但现在我想添加一个快捷方式(假设F1)来执行完全相同的操作,当我按F1时,它会在QTextEdit 直到我松开。我该如何做到这一点?

我在我的按钮上添加了快捷方式,但是当我按F1时,它会闪烁,就像我只要按F1,正在发出大量信号...我希望我的QTextEdit在按下F1时发生变化,然后在释放时变回来>键...

我希望我的问题很清楚!

提前非常感谢您的建议!

最佳答案

我认为解决这个问题最简单的方法是在父对象(窗口)上使用 installEventFilter() ,并过滤掉 QEvent::MouseButtonPressQEvent::MouseButtonRelease 事件。

bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if (obj == textEdit) {
if (event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
qDebug() << "Ate key press" << keyEvent->key();
return true;
} else {
return false;
}
} else {
// pass the event on to the parent class
return QMainWindow::eventFilter(obj, event);
}
}

关于qt - QPushButton 和快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1936088/

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