QMessageBox中的HTML

时间:2012-03-31 12:24:20

标签: c++ qt qmessagebox

我有一个创建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标签的文本。 我该如何打印清单? 有什么想法吗?

2 个答案:

答案 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对象。