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

}
相关推荐
羽翼未丰的啊博7 小时前
DBC_2_C上位机
qt·车载系统·汽车
大米粥哥哥7 小时前
Qt 报错qt.qpa.plugin: Could not find the Qt platform plugin “xcb“ in ““【已解决】
开发语言·qt·plugin·linuxdeployqt·xcb
云中飞鸿9 小时前
qt中显示日志的一般是哪个控件?
开发语言·qt
森G9 小时前
34、事件的分发机制---------事件系统
c++·qt
Frank_refuel12 小时前
QT->信号与槽详解下(概述、使用、自定义、连接方式、其他说明)
开发语言·qt
manyikaimen12 小时前
博派智能-运动控制技术-RTCP-五轴联动
c++·图像处理·qt·算法·计算机视觉·机器人·c#
雪的季节13 小时前
deleteLater跨线程安全触发时机解析
开发语言·qt·安全
森G14 小时前
33、事件概述---------事件系统
c++·qt
人还是要有梦想的14 小时前
QT C++ 机器学习
c++·qt·机器学习
一叶之秋141214 小时前
类型驱动:解锁Qt模板的渲染潜能
开发语言·qt