Qt富文本查找

1.在mainwindow.h 添加声明

cpp 复制代码
class QLineEdit;
class QDialog;

    void textFind();    //查找文本
    void textNext();    //查找下一个

2.在cpp里面进行添加、布局、定义

添加查找和布局窗口

cpp 复制代码
 //查找
    QAction *action_textfind = new QAction("查找",this);
    connect(action_textfind,&QAction::triggered,
            this,&MainWindow::textFind);
    ui->mainToolBar->addAction(action_textfind);

    m_findDialg = new QDialog(this); //查找对话框
    m_lineEdit = new QLineEdit(m_findDialg); //查找输入框
    QPushButton *btn = new QPushButton(m_findDialg);
    btn->setText("查找下一个");
    connect(btn,&QPushButton::clicked,
            this,&MainWindow::textNext);
    //进行垂直布局
    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(m_lineEdit);
    layout->addWidget(btn);
    m_findDialg->setLayout(layout);

对第一步的声明进行定义

cpp 复制代码
void MainWindow::textFind()
{
    m_findDialg->show();
}

void MainWindow::textNext()
{
    QString strFind = m_lineEdit->text();
    bool isFind = ui->textEdit->find(strFind,QTextDocument::FindBackward);
    if(isFind){
        qDebug()<<QString("行号:%1,列号:%2")
                  .arg(ui->textEdit->textCursor().blockNumber())
                  .arg(ui->textEdit->textCursor().columnNumber());
    }

}
相关推荐
带土18 小时前
9. Qt Lambda
开发语言·qt
Morwit10 小时前
如何使用CMake构建Qt新项目
开发语言·c++·qt
m0_5027249511 小时前
打开指定目录
qt
_OP_CHEN18 小时前
【从零开始的Qt开发指南】(十四)Qt 窗口之“三剑客”:工具栏、状态栏、浮动窗口进阶实战指南
开发语言·c++·qt·前端开发·gui开发·qt窗口
一叶之秋141218 小时前
QT常用控件(二)
开发语言·qt
郝学胜-神的一滴19 小时前
Qt重复添加控件问题探析:现象、原理与解决方案
开发语言·数据库·c++·qt·程序人生
m0_502724951 天前
创建DLL和使用DLL
qt
春蕾夏荷_7282977251 天前
Qt 命令行工具
开发语言·qt
枫叶丹41 天前
【Qt开发】Qt系统(二)-> 事件分发器
c语言·开发语言·数据库·c++·qt·系统架构
清水迎朝阳2 天前
Qt 小白成长系列 1-- 官方 文本搜索示例解析
开发语言·qt