2012-03-31 11 views
11

QMessageBoxを作成するアクションがあります。そのダイアログでは、いくつかの項目を含むリストを印刷したいと思います。私は次のコードを持っています:QMessageBoxのHTML

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タグでテキストを印刷します。 リストを印刷するにはどうすればよいですか? アイデア

答えて

20

改行\nとhtmlタグを混用しないでください。改行を<br>に変更すると、テキスト形式が自動的に認識されます。

+1

それは、ありがとう – Jan

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のデフォルトのテキストフォーマットは、あなたの文字列内のHTMLタグを検出すべき::定型句のQtであるので、あなたはインスタンス化する必要がなくabout静的メソッドを使用し続けることができるはずですQMessageBoxオブジェクト。

+0

私はOPがダイアログのタイトルを忘れてしまっただけの誤植だと思う。 OPが(タイトルなしで)投稿したコードはコンパイルされませんでしたが、OPはHTMLタグを出力し、コンパイルの問題については言及していません。あなたのコードはうまくコンパイルされますが、HTMLをリストとして解釈するのではなく、そのようなHTMLタグをダイアログボックスが表示するという実際の問題は解決しません。他の答えはその問題を解決します。 –

関連する問題