HTML в QMessageBox - PullRequest
       43

HTML в QMessageBox

13 голосов
/ 31 марта 2012

У меня есть действие, которое создает 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 ]

23 голосов
/ 31 марта 2012

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

3 голосов
/ 31 марта 2012

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

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.

...