Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 使用菜单栏中的文本创建分隔符_Qt_Menubar - Fatal编程技术网

Qt 使用菜单栏中的文本创建分隔符

Qt 使用菜单栏中的文本创建分隔符,qt,menubar,Qt,Menubar,我想要的东西显示在图片中的文档中,但我不知道怎么做。我可以创建一个分隔符 QAction * separator = new QAction("This is ignored", actionGroup); separator->setSeparator(true); 但这只是一句台词。如何将“对齐”文本添加到示例中的操作中?在链接之后,然后是“菜单”示例链接(示例摘录自此),然后是mainwindow.cpp(该示例的源文件之一),我达到: 该源文件中的最后一个函数是createMen

我想要的东西显示在图片中的文档中,但我不知道怎么做。我可以创建一个分隔符

QAction * separator = new QAction("This is ignored", actionGroup);
separator->setSeparator(true);

但这只是一句台词。如何将“对齐”文本添加到示例中的操作中?

在链接之后,然后是“菜单”示例链接(示例摘录自此),然后是mainwindow.cpp(该示例的源文件之一),我达到:

该源文件中的最后一个函数是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);

重要的位是:setText中由addSeparator()添加的分隔符上的第四行。这可以使用
QLabel
QWidgetAction
(例如在python中)来完成:

label=QtGui.QLabel(“至少它是富文本!”)
label_action=QtGui.QWidgetAction(self)
label_action.setDefaultWidget(标签)
菜单.添加操作(标签\操作)

好的。尝试使用AddSeparator()->setText(“无论什么”)遵循Qt5.6中的文档示例;不起作用。分隔符仍然没有文本。
label = QtGui.QLabel("<b>At least it is rich text!</b>")

label_action = QtGui.QWidgetAction(self)
label_action.setDefaultWidget(label)

menu.addAction(label_action)