我想要的内容显示在图片http://doc.qt.io/qt-4.8/qactiongroup.html#details中的文档中,但我无法弄清楚如何做到这一点。我可以通过
创建一个分隔符QAction * separator = new QAction("This is ignored", actionGroup);
separator->setSeparator(true);
然后它只是一条线。如何将“对齐”文本添加到示例中的操作中?
答案 0 :(得分:1)
这可以使用QLabel
QWidgetAction
来完成(例如在python中):
label = QtGui.QLabel("<b>At least it is rich text!</b>")
label_action = QtGui.QWidgetAction(self)
label_action.setDefaultWidget(label)
menu.addAction(label_action)
答案 1 :(得分:0)
关注您的链接,然后转到&#34;菜单&#34;示例链接(您的示例摘录自),然后是mainwindow.cpp(这是该示例的源文件之一),我到达:http://doc.qt.io/qt-4.8/qt-mainwindows-menus-mainwindow-cpp.html
该源文件中的最后一个函数是createMenus,其中包含以下内容:
formatMenu = editMenu->addMenu(tr("&Format"));
formatMenu->addAction(boldAct);
formatMenu->addAction(italicAct);
formatMenu->addSeparator()->setText(tr("Alignment"));
formatMenu->addAction(leftAlignAct);
formatMenu->addAction(rightAlignAct);
formatMenu->addAction(justifyAct);
formatMenu->addAction(centerAct);
formatMenu->addSeparator();
formatMenu->addAction(setLineSpacingAct);
formatMenu->addAction(setParagraphSpacingAct);
重要的一点是第四行:setSext在addSeparator()添加的分隔符上