我想在 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/