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

标签 c++ qt qtextedit bulletedlist numbered

如何通过单击按钮在带有 Qt 的 QTextEdit 中创建项目符号列表或编号列表?也有必要列出通过单击相同按钮选择的段落。当光标在列表中并单击按钮时,列表项变为非列表项,而是一个简单的段落。简而言之,我想为我的文本编辑器创建 2 个按钮,它们的工作方式与(符号和编号按钮是 MS Word)相同。

最佳答案

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>");
}

或者,您可以使用 QTextDocument 操作 textedit 内容和 QTextCursor成员。下面是一个例子:

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");
}

还有这个链接:Rich Text Processing可能会有帮助

希望对你有帮助,问候

关于c++ - 如何使用 Qt 创建项目符号列表或编号列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3646156/

相关文章:

c++ - QWidget 绘制甚至不被调用,即使具有非零宽度和高度?

windows - 使用 QSettings 在 Windows 上读取注册表值

python - 如何从 PyQt 应用程序中完全控制 Option/Alt 键?

qt - 如何在QTextEdit中为QTextFrame或QTextBlock提供背景图像?

qt - 将多个信号连接到 Qt 中的单个插槽

android - 定点数学 - 从浮点安全到总是产生相同结果的转换?

c++ - 确定性时的虚函数开销 (c++)

c++ - 如何使用 move 语义迭代器和模板

c++ - 在 CentOS 上使用 OpenGL 支持从源代码编译 Qt 4.8.3

c++ - 我可以在 C++ 方法中返回 NULL 指针吗?