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

}
相关推荐
Larry_Yanan21 分钟前
Qt多进程(八)消息队列(基于文件)
开发语言·qt
CC.GG1 小时前
【Qt】常用控件----显示类控件(QLabel、QLCDNumber、QProgressBar、QCalendarWidget)
开发语言·数据库·qt
环黄金线HHJX.2 小时前
【QuantumTuan:Qt】
开发语言·qt
赵民勇5 小时前
rcc (Qt Resource Compiler) 详细指南
qt
Lhan.zzZ5 小时前
Qt绘制残留问题排查与修复日志
开发语言·数据库·qt
YxVoyager6 小时前
Qt C++ :QJson使用详解
c++·qt
赵民勇7 小时前
Qt项目缺少Quick模块错误解决方案
linux·qt
枫叶丹47 小时前
【Qt开发】Qt系统(三)->事件过滤器
java·c语言·开发语言·数据库·c++·qt
艾莉丝努力练剑8 小时前
【QT】初识QT:背景介绍
java·运维·数据库·人工智能·qt·安全·gui
m0_502724951 天前
QT - 系统托盘
开发语言·qt