【Qt】简单Qt文本查找功能
生活随笔
收集整理的這篇文章主要介紹了
【Qt】简单Qt文本查找功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
00. 目錄
文章目錄
- 00. 目錄
- 01. 概述
- 02. 開發環境
- 03. 程序設計
- 04. 執行結果
- 05. 附錄
01. 概述
以前都用設計器設計界面,而這次我們用代碼實現一個簡單的查找對話框。
02. 開發環境
Windows系統:Windows10
Qt版本:Qt5.15或者Qt6
03. 程序設計
3.1 到mainwindow.h文件中添加類的前置聲明
前置聲明所在的位置跟頭文件包含的位置相同。
//前置聲明 class QLineEdit; class QDialog;然后在private部分添加對象定義:
QLineEdit *findLineEdit; QDialog *findDlg;添加一個私有槽聲明:
private slots:void showFindText();3.2 在構造函數中進行初始化操作,即添加如下代碼:
findDlg = new QDialog(this);findDlg->setWindowTitle(tr("查找"));findLineEdit = new QLineEdit(findDlg);QPushButton *btn = new QPushButton(tr("查找下一個"), findDlg);QVBoxLayout *layout = new QVBoxLayout(findDlg);layout->addWidget(findLineEdit);layout->addWidget(btn);connect(btn, &QPushButton::clicked, this, &MainWindow::showFindText);創建了一個對話框,然后將一個行編輯器和一個按鈕放到了上面,并使用布局管理器進行布局。最后將按鈕的單擊信號關聯到了自定義的顯示查找結果槽上。
3.3 槽函數相關實現
void MainWindow::showFindText() {QString str = findLineEdit->text();bool ret = ui->textEdit->find(str, QTextDocument::FindBackward);if (!ret){QMessageBox::warning(this, tr("查找"), tr("找不到%1").arg(str));}}void MainWindow::on_actionfind_triggered() {findDlg->show(); }04. 執行結果
程序執行結果如下:
05. 附錄
源碼下載:【Qt】簡單Qt文本查找功能.rar
總結
以上是生活随笔為你收集整理的【Qt】简单Qt文本查找功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Qt】简单QT文本编辑器
- 下一篇: 【Qt】MainWindow窗口状态栏