我是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。
如果已经回答(我找不到答案),请告诉我。
谢谢。
答案 0 :(得分:3)
为什么不在QPushButton上调用setShortcut?
void setShortcut ( const QKeySequence & key )
这是在QAbstractButton类中提供的,因此在文档中找到它可能不是最明显的事情。
ui.b_0->setShortcut(QKeySequence(Qt::Key_0));
这应该可以解决问题。该按钮已经处理了如果未启用按钮会发生什么。