2012-03-31 1 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의 기본 텍스트 형식은 Qt는이다 : 당신의 문자열 내부에 HTML 태그를 감지합니다 상용구, 그래서 당신은 인스턴스화 할 필요없이 about 정적 방법을 계속 사용 할 수 있어야한다 : 이것은 나를 위해 작동 QMessageBox 개체.

+0

나는 OP가 대화 제목을 포함하는 것을 잊어 버린 것은 오타라고 생각합니다. OP가 (제목없이) 게시 한 코드는 컴파일되지 않지만 OP는 HTML 태그를 인쇄하고 컴파일 문제는 언급하지 않는다고 말합니다. 코드가 잘 컴파일되지만 대화 상자가 HTML을 목록으로 해석하는 대신 HTML 태그를 인쇄한다는 실제 문제는 해결되지 않습니다. 다른 대답은 그 문제를 해결합니다. –