2014-12-18 81 views
0

没有下划线有实现简单的主窗口:Qt的菜单栏快捷方式不起作用,并在选项

#include "mainwindow.h" 

#include <QtWidgets> 

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) 
{ 
    QAction *someAction = new QAction(tr("&Action"), this); 
    someAction->setShortcuts(QKeySequence::Quit); 
    connect(someAction, &QAction::triggered, this, &QWidget::close); 

    QMenu* someMenu = menuBar()->addMenu(tr("&SomeMenu")); 
    someMenu->addAction(someAction); 
} 

菜单选项看起来如下:

enter image description here

我期望单词Action的词条A下会出现下划线,并且该快捷键Ctrl+Q将退出程序。然而按Ctrl+Q什么都不做,并且没有下划线。但是,当我点击这个菜单选项的鼠标然后它按预期工作。这在Ubuntu上用Qt 5进行了测试。如何使快捷方式和强调工作正常?

+0

这个简单的例子你有问题吗?如果您有更复杂的应用程序,那么您是否安装了任何事件过滤器?如果您使用不同风格(例如-style = widows)启动您的应用程序,它可以工作吗? – hank

+0

它没有帮助 - 此选项窗口呈现为正常的Ubuntu窗口。是的,这正是这个代码+头+主,没有什么特别的。 – scdmb

回答

0

所以问题就解决了。我之前已经通过apt-get安装了Qt 5.2.1,这是Ubuntu 14.04。我已经从官方网站安装Qt 5.4.0,配置Qt Creator来使用这个,使用相同的代码,所有的东西都开始工作 - 快捷方式工作,下划线在菜单选项下。