c++ - 无下拉菜单的Qt菜单栏(单级菜单栏)

标签 c++ qt user-interface menu

我想在 Qt 中有一个单级菜单小部件,它看起来像一个普通的菜单栏,但是当单击菜单栏上的项目时不显示下拉菜单。我的应用程序只需要几个选项,单击或单击快捷键激活的单行菜单栏似乎是最合适的。

我不需要工具栏或一行按钮。我不想设计图标,我更喜欢每个选项的简单文本,并带有下划线的快捷键。

我应该使用 QMenu 还是其他东西来实现它?

最佳答案

我确定,QToolBar是你要找的。它是一个工具栏,就像您从 IDE 或 Photoshop 程序中了解到的那样,它使用图标或文本显示选项。

代码示例

class MainWindow : public QMainWindow
{
  Q_OBJECT
public:
  MainWindow( QWidget* parent = 0 ) : QMainWindow(parent)
  {
    QToolBar* toolBar1 = new QToolBar(this);

    QAction* action1 = toolBar1->addAction("one");
    QObject::connect( action1, SIGNAL(triggered()), this, SLOT(onActionOne()));
    action1->setShortcut(QKeySequence("ctrl+o"));   

    QAction* action2 = toolBar1->addAction("two");
    QObject::connect( action2, SIGNAL(triggered()), this, SLOT(onActionTwo()));
    action2->setShortcut(QKeySequence("ctrl+t"));

    addToolBar(Qt::TopToolBarArea, toolBar1);
  }

public slots:
  void onActionOne(){ std::cout << "Action one!" << std::endl; }
  void onActionTwo(){ std::cout << "Action Two!" << std::endl; }
};

关于c++ - 无下拉菜单的Qt菜单栏(单级菜单栏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32563451/

相关文章:

由 C++ STL 卷积

c++ - 如何在派生类构造函数中初始化基类成员变量?

python - 在执行任务之前禁用 QPushButton

qt - Qml 计时器未在正确的时间间隔内触发

c++ - 使用数组的对象的编译时多态性是否可能?

c++ - 使用 libSox 链接多个效果并读取输出数据的正确方法

c++ - Qt5从局域网获取mjpeg流

javascript - 如何调试 JQuery 选项卡的浏览器兼容性问题?

java - Vaadin Grid DateRenderer 不适用

c++ - QTreeWidget 子类,停止放置指示器显示给定的不需要的 dropIndicatorPosition