Подтвердить что ты не робот

HTML в 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. Как распечатать список? Любые идеи?

4b9b3361

Ответ 1

Не смешивайте новые строки \n с html-тегами. Измените новые строки на <br>, а затем автоматически распознается текстовый формат.

Ответ 2

Кажется, вы устанавливаете заголовок диалога вместо содержимого диалогового окна. Это работает для меня:

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.