如何使用Qt创建项目符号列表或编号列表?

Nar*_*rek 0 c++ qt bulletedlist numbered qtextedit

如何通过单击按钮在QTextEdit中使用Qt创建项目符号或编号列表?此外,有必要列出通过单击相同按钮选择的paragraphes.当光标在列表中并单击按钮时,列表项将变为非列表项,而是一个简单的段落.我希望为我的文本editer 2按钮创建两个单词,其工作方式与(buletting和编号按钮是MS Word)相同.

ser*_*nko 5

QTextEdit应支持html文本格式,因此下面的按钮单击处理程序应在文本编辑控件中插入2个列表:

void MainWindow::on_pushButton_clicked()
{
    // will insert a bulleted list
    ui->textEdit->insertHtml("<ul><li>text 1</li><li>text 2</li><li>text 3</li></ul> <br />");
    // will insert a numbered list
    ui->textEdit->insertHtml("<ol><li>text 1</li><li>text 2</li><li>text 3</li></ol>");
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用QTextDocumentQTextCursor成员操作textedit内容.以下是一个例子:

void MainWindow::on_pushButton_2_clicked()
{
    QTextDocument* document = ui->textEdit->document();
    QTextCursor* cursor = new QTextCursor(document);

    QTextListFormat listFormat;
    listFormat.setStyle(QTextListFormat::ListDecimal);
    cursor->insertList(listFormat);

    cursor->insertText("one");
    cursor->insertText("\ntwo");
    cursor->insertText("\nthree");
}
Run Code Online (Sandbox Code Playgroud)

此链接:Rich Text Processing可能会有所帮助

希望这有帮助,问候