UID:135353
UID:7394
dbzhang800:你自己都说了,是8个热键。不就是8 个 QShortcut 么?至于,你是创建8个槽,还是1个槽,这都不是问题。就像是,你有8个QPushButton,但是它的信号clicked()没有返回值,这完全不阻碍你,将其连接到同一个槽,在该槽内针对不同按钮做不同动作。 (2014-06-09 23:40)
dbzhang800:解决方案不就是QShortcut么,几行代码就搞定了。要么你自己事件过滤器。反正 keyPressEvent 不是用来干这个的(截获其他控件的keyPress事件) (2014-06-09 20:52)
纵刀少年:新问题:现在的Widget有一个输入框lineEdit程序刚运行的时候焦点就在那输入框上,所以我按如alt+1的快捷键的时候判断1的部分响应不了。必须点击如pushButton的让焦点从lineEdit上消失再能正常响应。请问有专门针对这种情况解决办法么?(不是要自行把焦点定位到一个无法输入字 .. (2014-06-09 20:10)
UID:97396
纵刀少年:可以。不过我就差一点点了。难得重写~ (2014-06-09 20:29)
roywillow:话说你这个不能通过QShortcut来解决吗? (2014-06-09 20:26)
goldfishxxoo:少年,试试这样if(event->key()==Qt::Key_A && event->modifiers()==(Qt::AltModifier | Qt::ControlModifier)) (2014-06-09 19:15)
roywillow:Qt::AltModifier&Qt::ControlModifier……不应该用&运算,应该用|运算吧 (2014-06-09 19:14)
UID:152752