我有一个创建QMessageBox的动作。在该对话框中,我想打印一个包含多个项目的列表。我有以下代码:
void MainWindow::onAboutActivated(){
qDebug() << "about";
QMessageBox::about(this,
"Autor: \n"
"\n"
"Umoznuje:"
"<ul>"
"<li> Item 1 </li>"
"<li> Item 2 </li>"
"<li> Item 3 </li>"
"</ul>");
但是这不会打印列表,而是打印带有html标签的文本。 我该如何打印清单? 有什么想法吗?
答案 0 :(得分:23)
请勿将换行符\n
与html标记混合使用。将换行符更改为<br>
,然后自动识别文本格式。
答案 1 :(得分:3)
似乎您正在设置对话框标题而不是对话框内容。这对我有用:
void MainWindow::onAboutActivated(){
qDebug() << "about";
QMessageBox::about(this, "Dialog Title",
"Autor: \n"
"\n"
"Umoznuje:"
"<ul>"
"<li> Item 1 </li>"
"<li> Item 2 </li>"
"<li> Item 3 </li>"
"</ul>");
QMessageBox的默认文本格式是Qt :: AutoText,它应检测字符串中的html标记,因此您应该能够继续使用about
静态方法,而无需实例化QMessageBox对象。