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

}
相关推荐
冉佳驹11 小时前
Qt【第五篇】——— QMainWindow 核心组件与对话框开发详解
qt·qdialog·qtoolbar·qstatusbar·qdockwidget·qmenubar
cpp_learners12 小时前
银河麒麟V10+飞腾D2000/8处理器+在线源码编译安装Firefox78.0指南
qt·firefox·麒麟
Frank_refuel13 小时前
QT->信号与槽详解上(概述、使用、自定义、连接方式、其他说明)
开发语言·qt
不想看见40416 小时前
在AI时代下,刷LeetCode题的价值与意义
开发语言·c++·qt
yunn_19 小时前
Qt 多线程
c++·qt
ada0_ada120 小时前
Qt的Widgets项目
开发语言·qt
Dovis(誓平步青云)20 小时前
《QT学习第一篇:QT的概述与安装、信号与槽》
开发语言·qt·学习·功能详解
地下核武1 天前
Ubuntu 24.04 在线安装 Qt 6.10.2 后 Qt Creator 无法启动问题记录与解决
linux·qt·ubuntu
史蒂芬_丁1 天前
Qt, C++数据类型扩展问题
数据库·c++·qt
没用的阿_吉1 天前
windows10 Qt5.15.14 msvc2019 编译部署
开发语言·qt