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

}
相关推荐
Java Fans10 分钟前
Qt Designer 和 PyQt 开发教程
开发语言·qt·pyqt
开始了码33 分钟前
深入理解回调函数:从概念到 Qt 实战
开发语言·qt
世转神风-6 小时前
qt-pro文件名词解释
开发语言·qt
kupeThinkPoem7 小时前
Qt中addSpacing参数为0的作用
qt
꧁坚持很酷꧂8 小时前
QCustomPlot绘制曲线
qt
火山灿火山11 小时前
Qt常用控件(五) - 多元素控件
开发语言·qt
Ivy_belief12 小时前
Linux:设置和获取单片机gpio引脚和key值
linux·arm开发·qt·gpio·event事件
神仙别闹13 小时前
基于QT(C++)实现B树可视化
c++·b树·qt
feiyangqingyun13 小时前
记一次Qt视频监控系统的优化/双击打开分组可能崩溃的BUG/排对打开通道过程中关闭通道可能崩溃的BUG
qt·音视频·qt监控系统·qt视频轮询
木心爱编程14 小时前
Qt C++ 插件开发指南:插件架构设计与动态加载实战
开发语言·c++·qt