我的目标是制作带有标签分隔符的菜单。所以,我正在运行这段代码:
QMenu *menu = new QMenu;
QAction *group1 = menu->addSeparator();
group1->setText("Group of actions #1");
menu->addAction("Action #1");
menu->addAction("Action #2");
menu->addAction("Action #3");
QAction *group2 = menu->addSeparator();
group2->setText("Group of actions #2");
menu->addAction("Action #1");
menu->addAction("Action #2");
menu->addAction("Action #3");
QToolButton btn;
btn.setText("Click me");
btn.setMenu(menu);
btn.setPopupMode(QToolButton::InstantPopup);
btn.show();
得到了这个
而不是这个(我是由 MS Paint 创建的 :))
怎么了?
编辑:是的,还有另一个像这样的问题(QMenu 中的非交互式项目),但可能存在更简单的方法吗?
解决方案之一是使用“Fusion”主题 :) 我刚刚将以下代码添加到int main
函数中:
int main(int argc, char *argv[]) {
QApplication::setStyle("Fusion");
QApplication a(argc, argv);
...