最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

QT使用QComBox和QLineEdit實現(xiàn)模糊查詢功能

 更新時間:2023年11月29日 08:47:35   作者:川谷_  
模糊查詢是指根據(jù)用戶輸入的文本,在下拉框的選項中進行模糊匹配,并動態(tài)地顯示匹配的選項,本文將使用QComBox和QLineEdit實現(xiàn)模糊查詢功能,需要的可以參考下

一、概述

在Qt中,可以通過QComboBox和QLineEdit實現(xiàn)模糊查詢的功能。模糊查詢是指根據(jù)用戶輸入的文本,在下拉框的選項中進行模糊匹配,并動態(tài)地顯示匹配的選項。

二、基礎(chǔ)知識

1、QCompleter

(1)QCompleter 是 Qt 框架中提供的一個用于自動補全和模糊搜索的類。QCompleter 可以與輸入框(如 QLineEdit)一起使用,為用戶輸入的文本提供自動補全的功能。

(2)QCompleter 的主要作用是為一個模型(例如 QStringListModel 或 QStandardItemModel)提供自動補全的功能。它可以根據(jù)用戶在輸入框中輸入的文本,動態(tài)地過濾模型中的項,并將過濾結(jié)果作為候選項顯示在輸入框下方的彈出窗口中。

2、QStyledItemDelegate

(1)QStyledItemDelegate 是 Qt 框架中提供的一個用于自定義繪制和編輯每個項的委托類。它可以與諸如 QListView、QTableView、QTreeView 等控件一起使用,用于自定義項的外觀和編輯行為。

(2)QStyledItemDelegate 的主要作用是控制視圖中每個項的繪制和編輯方式,以實現(xiàn)自定義的外觀和交互效果。

三、UI界面搭建

四、具體實現(xiàn)

1、MainWindow.h文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QEvent>
#include <QMainWindow>
 
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
 
    //模糊搜索
    void obscureSearch();
 
private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

2、MainWindow.cpp文件

#include "mainwindow.h"
 
#include "ui_mainwindow.h"
 
#include <QCompleter>
#include <QListView>
#include <QStyledItemDelegate>
 
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    obscureSearch();
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::obscureSearch()
{
    QStringList list;
    list << "RCV_01" << "RCV_02" << "RCV_03" << "RCV_04";
    ui->comboBox->addItems(list);
 
    QString style = QString("QListView {"
                            "font-family: \"Arial\";"
                            "font-size: 13px; "
                            "outline: 0px;}"
                            "QListView::item {"
                            "padding: 3px 0x 3px 5px;"
                            "border-width: 0px;}"
                            "QListView::item:selected {"
                            "background-color: #004EA2;}"
                            "QListView::item:hover {"
                            "background-color: #E5F1FB}");
 
    ui->comboBox->setView(new QListView());
    ui->comboBox->setEditable(true);
    ui->comboBox->setLineEdit(ui->lineEdit);
    ui->comboBox->setMaxVisibleItems(5);
    ui->comboBox->view()->setStyleSheet(style);
 
    QCompleter *pCompleter = new QCompleter(list, this);
    QStyledItemDelegate *d = new QStyledItemDelegate;
    pCompleter->popup()->setItemDelegate(d);
    pCompleter->popup()->setStyleSheet(style);
    pCompleter->setCaseSensitivity(Qt::CaseInsensitive);
 
    ui->comboBox->setCompleter(pCompleter);
    ui->lineEdit->setCompleter(pCompleter);
 
    ui->lineEdit->clear();
}
 

 五、實現(xiàn)效果

到此這篇關(guān)于QT使用QComBox和QLineEdit實現(xiàn)模糊查詢功能的文章就介紹到這了,更多相關(guān)QT模糊查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文帶你了解C++中queue的使用

    一文帶你了解C++中queue的使用

    C++中的queue是一種容器,用于在FIFO(先進先出)原則下存儲和管理元素。本篇文章將深入探討C++中的queue,包括它的定義、使用、原理和示例,感興趣的可以了解一下
    2023-04-04
  • 深入理解C++編程中的局部變量和全局變量

    深入理解C++編程中的局部變量和全局變量

    這篇文章主要介紹了深入理解C++編程中的局部變量和全局變量,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • C++?使用?new?創(chuàng)建二維數(shù)組實例

    C++?使用?new?創(chuàng)建二維數(shù)組實例

    這篇文章主要介紹了C++?使用?new?創(chuàng)建二維數(shù)組實例的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 詳解C/C++ 的*和&用法

    詳解C/C++ 的*和&用法

    這篇文章主要介紹了C/C++ 的*和&的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • C++哈希表之閉散列方法的模擬實現(xiàn)詳解

    C++哈希表之閉散列方法的模擬實現(xiàn)詳解

    閉散列指(開放定址法)發(fā)生沖突時,如果哈希表沒有被填滿,則表內(nèi)一定還有其他空閑位置,可以把沖突值放到下一個沒有被占用的空余位置上。本文將模擬實現(xiàn)閉散列方法,需要的可以參考一下
    2022-11-11
  • C++實現(xiàn)LeetCode(210.課程清單之二)

    C++實現(xiàn)LeetCode(210.課程清單之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(210.課程清單之二),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Qt實現(xiàn)邊加載數(shù)據(jù)邊顯示頁面的示例代碼

    Qt實現(xiàn)邊加載數(shù)據(jù)邊顯示頁面的示例代碼

    無論是MFC框架還是QT框架,實現(xiàn)加載數(shù)據(jù)的等待效果都是很麻煩的,不像WEB端輕輕松松一句代碼就搞定了。本文將通過Qt實現(xiàn)邊加載數(shù)據(jù)邊顯示頁面的功能,需要的可以參考一下
    2022-01-01
  • C++使用string的大數(shù)快速模冪運算(6)

    C++使用string的大數(shù)快速模冪運算(6)

    這篇文章主要為大家詳細介紹了C++使用string的大數(shù)快速模冪運算,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • C++設(shè)計模式編程中Facade外觀模式的使用實例解析

    C++設(shè)計模式編程中Facade外觀模式的使用實例解析

    這篇文章主要介紹了C++設(shè)計模式編程中Facade外觀模式的使用實例解析,外觀模式的主要用途就是為子系統(tǒng)的復(fù)雜處理過程提供方便的調(diào)用方法,需要的朋友可以參考下
    2016-03-03
  • VC++中內(nèi)存對齊實例教程

    VC++中內(nèi)存對齊實例教程

    這篇文章主要介紹了VC++中內(nèi)存對齊的實現(xiàn)方法,具有很高的實用價值,需要的朋友可以參考下
    2014-08-08

最新評論

察雅县| 湘乡市| 南通市| 中阳县| 山西省| 滕州市| 清原| 崇明县| 翁源县| 永善县| 台州市| 城步| 石柱| 六安市| 青冈县| 定安县| 宜兰县| 平安县| 临沂市| 响水县| 新沂市| 班玛县| 讷河市| 神木县| 政和县| 囊谦县| 营口市| 金乡县| 白玉县| 巴马| 金昌市| 从江县| 凤冈县| 渝北区| 普宁市| 尤溪县| 姚安县| 耿马| 达尔| 清丰县| 鄯善县|