文章目录
一、补全功能示例图
1.匹配包含
- 一、补全功能示例图
- 1.匹配包含
- 2.匹配开头
- 3.匹配结尾
- 二、源码
- 1.CCompleterTest.h
- 2.CCompleterTest.cpp
- 3.CCompleterTest.ui
- 自定义动态属性值
- 总结
下图演示了匹配文本包含的情况。
下图演示了匹配开头模式,可以看到匹配开头时,输入”王“只显示了”王五“,但当匹配包含时却显示了两个项。
从下图可以看到匹配包含时,输入”张“显示了”张三“和”小张“,但当匹配结尾时却显示了”小张“,以此演示了匹配结尾的功能。
【提示】因为在ui中使用了自定义动态属性,所以在此保留ui源码
1.CCompleterTest.h#ifndef CCOMPLETERTEST_H
#define CCOMPLETERTEST_H
#include
#include // 导入自动补全类头文件
#include // 导入dir数据模型
namespace Ui {
class CCompleterTest;
}
class CCompleterTest : public QMainWindow
{
Q_OBJECT
public:
explicit CCompleterTest(QWidget *parent = nullptr);
~CCompleterTest();
/**
* @brief initChineseCompleter 中文名下拉框的补全类初始化
*/
void initChineseCompleter();
/**
* @brief initEnglishCompleter 英文名文本框的补全类初始化
*/
void initEnglishCompleter();
/**
* @brief initDirCompleter 目录文本框的补全类初始化
*/
void initDirCompleter();
private slots:
/**
* @brief on_filterModeComboBox_currentIndexChanged 过滤模式下拉框切换按钮槽函数
* @param arg1 切换后的文本
*/
void on_filterModeComboBox_currentIndexChanged(const QString &arg1);
private:
Ui::CCompleterTest *ui;
QCompleter *m_chineseCompleter; // 下拉列表框的自动补全类
QCompleter *m_englishCompleter; // 文本编辑框的自动补全类
QCompleter *m_dirCompleter; // 文本编辑框的自动补全类
QDirModel *m_dirModel; // dir数据模型
};
#endif // CCOMPLETERTEST_H
2.CCompleterTest.cpp
#include "CCompleterTest.h"
#include "ui_CCompleterTest.h"
CCompleterTest::CCompleterTest(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::CCompleterTest)
{
ui->setupUi(this);
// 设置窗口标题
this->setWindowTitle("自动补全类的使用");
// 初始化中文名下拉框补全
initChineseCompleter();
// 初始化英文名文本框补全
initEnglishCompleter();
// 初始化目录文本框补全
initDirCompleter();
}
CCompleterTest::~CCompleterTest()
{
delete m_chineseCompleter;
delete m_englishCompleter;
delete m_dirModel;
delete m_dirCompleter;
delete ui;
}
void CCompleterTest::initChineseCompleter()
{
// 创建下拉列表框的补全文本列表
QStringList list;
list
0
0
396
266
CCompleterTest
补全类匹配模式:
0
0
1
2
3
匹配包含
匹配开头
匹配结尾
自动补全(中文)的下拉框:
0
0
自动补全(英文)的文本框:
0
0
自动补全(目录)的文本框:
0
0
0
0
396
23
TopToolBarArea
false
自定义动态属性值
补全类在生活中输入文本还是比较常见,并且使用上没有特别的要求,直接调用设置即可,很是方便。
(前段时间电脑出问题了,因为疫情不能修理这些问题,后面还是会持续更新的)
友情提示——哪里看不懂可私哦,让我们一起互相进步吧 (创作不易,请留下一个免费的赞叭 谢谢 ^o^/)
注:文章为作者编程过程中所遇到的问题和总结,内容仅供参考,若有错误欢迎指出。 注:如有侵权,请联系作者删除