• 5262阅读
  • 2回复

[讨论]请教下Qt的快捷键的使用 [复制链接]

上一主题 下一主题
离线sno_guo
 
只看楼主 倒序阅读 楼主  发表于: 2012-08-12
大家好,我现在想在我的界面中设置一个快捷键来使我的程序退出,我的语句是这样的:(void) new QShortcut(Qt::Key_Q, this, SLOT(close()));
然后我的界面中还有别的控件,如QLineEdit等等,可是当我的光标在QLineEdit里面的时候,快捷键就不起作用了,因为当前的聚焦是QLineEdit,而不是主界面,我想问下,我怎样能设置好这个快捷键,使无论我的哪个控件聚焦,主界面都可以退出,谢谢!
离线roywillow

只看该作者 1楼 发表于: 2012-08-12
你有没有试过菜单栏中的QAction的快捷键?那些快捷键不管焦点在那都是能触发的
不清楚是菜单栏的特殊处理还是QShortcut本身已经有这功能了
要不要考虑一下用QAction?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线passion_wu
只看该作者 2楼 发表于: 2012-08-13
在主界面的类中添加这个函数就可以了啊:
void MainWindow::keyPressEvent(QKeyEvent * e)
{
    if (e->key() == Qt::Key_Escape)
        qApp->quit();
    QMainWindow::keyPressEvent(e);
}
快速回复
限100 字节
 
上一个 下一个