我是QT的初学者。我已经使用QShortcuts将按键绑定到按钮。
QShortcut *sb_0 = new QShortcut(QKeySequence(Qt::Key_0), this);
connect(sb_0, SIGNAL(activated()), ui.b_0, SIGNAL(clicked()));但是,当禁用b_0时,快捷键仍然有效。
ui.b_0->setEnabled(FALSE);我希望,不知何故,当我禁用按钮时,快捷键将被禁用。我在想,我可以断开QShortcut与QPushbutton的连接;然而,这似乎不是最好的主意。
另外,我想知道是否有可能有它,以便当按下键'0‘时,按钮向下(被按下),然后当它被释放时,按钮恢复正常。所以基本上,按下'0‘就像按住鼠标左键点击b_0一样。
如果这个问题已经被回答了(我找不到答案),请让我知道。
谢谢。
发布于 2011-12-09 10:06:31
你为什么不直接在QPushButton上调用setShortcut呢?
void setShortcut ( const QKeySequence & key )这是在QAbstractButton类中提供的,因此它可能不是文档中最明显的内容。
ui.b_0->setShortcut(QKeySequence(Qt::Key_0));这应该能起到作用。该按钮已经处理了未启用该按钮时应该发生的情况。
https://stackoverflow.com/questions/8439543
复制相似问题