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

}
相关推荐
小小小~1 小时前
qt5将程序打包并使用
开发语言·qt
很楠不爱2 小时前
Qt——窗口
开发语言·qt
Mr.Q11 小时前
Qt多边形填充/不填充绘制
qt
可峰科技12 小时前
斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)
开发语言·qt
7年老菜鸡14 小时前
策略模式(C++)三分钟读懂
c++·qt·策略模式
huanggang98217 小时前
在Ubuntu22.04上使用Qt Creator开发ROS2项目
qt·ros2
老秦包你会18 小时前
Qt第三课 ----------容器类控件
开发语言·qt
spygg19 小时前
Qt低版本多网卡组播bug
qt·组播·多网卡组播·qt5.7.0
码农客栈19 小时前
qt QWebSocketServer详解
qt
plmm烟酒僧21 小时前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv