1.类介绍
Header: | #include <QStringList> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Inherits: | QList |
QStringList继承QList,因此QList的成员函数均能使用,常用的为:
void | append(const QList<T> &value) 追加一个List中所有元素到列表末尾 |
void | append(QList<T> &&value) 追加一个元素到列表末尾 |
QList::const_reference | at(qsizetype i) const 同[],指定元素位置 |
QList::iterator | begin() 迭代器,一般配合循环使用,表示初始地址 |
QList::iterator | end() 迭代器,一般配合循环使用,表示初始地址 |
void | clear() 清空所有元素 |
bool | contains(const AT &value) const 查询是否包含value |
qsizetype | count(const AT &value) const 返回列表中与value相等的元素个数 |
qsizetype | count() const 等效size() |
QList::pointer | data() |
QList::const_pointer | data() const |
bool | empty() const 列表为空返回true |
bool | endsWith(QList::parameter_type value) const |
QList::iterator | erase(QList::const_iterator pos)
|
QList::iterator | erase(QList::const_iterator begin, QList::const_iterator end)
|
QList<T> & | fill(QList::parameter_type value, qsizetype size = -1) |
qsizetype | indexOf(const AT &value, qsizetype from = 0) const
|
QList::iterator | insert(qsizetype i, QList::parameter_type value) |
QList::iterator | insert(qsizetype i, qsizetype count, QList::parameter_type value) |
QList::iterator | insert(QList::const_iterator before, QList::rvalue_ref value) |
QList::iterator | insert(qsizetype i, QList::rvalue_ref value) |
bool | isEmpty() const 判断是否为空,是空返回true |
qsizetype | lastIndexOf(const AT &value, qsizetype from = -1) const
|
qsizetype | length() const |
QList<T> | mid(qsizetype pos, qsizetype length = -1) const mid() 函数新建一个子列表,将本列表从序号 pos 开始位置,复制长度为 length 数量的元素到子列表中并返回。 |
void | move(qsizetype from, qsizetype to) |
void | prepend(QList::rvalue_ref value) 将参数里的元素 value 添加到列表头部,等同于 insert(0, value) |
void | push_back(QList::parameter_type value) 压元素到末尾 |
void | pop_back() 弹出最后的元素 |
void | remove(qsizetype i, qsizetype n = 1) 指定位置删除元素 |
qsizetype | removeAll(const AT &t) 删除所有元素 |
void | removeAt(qsizetype i) 删除对应位置元素 |
void | replace(qsizetype i, QList::parameter_type value) |
void | replace(qsizetype i, QList::rvalue_ref value) |
void | resize(qsizetype size) |
qsizetype | size() const 元素数量 |
QList<T> | sliced(qsizetype pos) const |
void | swap(QList<T> &other) 交换当前列表与另一个列表的内容 |
void | swapItemsAt(qsizetype i, qsizetype j) 指定元素位置交换 |
QList::const_reference | operator[](qsizetype i) const |
2.Public Functions(成员函数)
bool | contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const 看看是否包含该Str,包含则会返回true |
bool | contains(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
bool | contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
QStringList | filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const 过滤器,将会根据条件筛选出内容,一般一个新的QStringList变量去接收 |
QStringList | filter(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
QStringList | filter(const QRegularExpression &re) const |
qsizetype | indexOf(const QRegularExpression &re, qsizetype from = 0) const 从前往后找,返回索引 |
qsizetype | lastIndexOf(const QRegularExpression &re, qsizetype from = -1) const 从后往前找,返回索引 |
QString | join(const QString &separator) const 连接QStingList里的每个元素,中间用separator连接,一般用一个QString变量去接收 |
QString | join(QChar separator) const 同上 |
QStringList & | replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
QStringList & | replaceInStrings(QStringView before, QStringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
QStringList & | replaceInStrings(const QString &before, QStringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) 根据参数去替换对应的参数 |
QStringList & | replaceInStrings(QStringView before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
QStringList & | replaceInStrings(const QRegularExpression &re, const QString &after) |
void | sort(Qt::CaseSensitivity cs = Qt::CaseSensitive) 排序 |
3.实战代码使用
QStringList filenames;
QDir dir("/home");
if (!dir.exists())
{
return;
}
filenames = QStringList(QString("*.txt").split(";"));
dir.setFilter(QDir::Files);
//dir.setSorting(QDir::Name);
filenames = dir.entryList();
QLineEdit *LineEdit = new QLineEdit;
QString lineeditStr = LineEdit->text();
if (lineeditStr == NULL) {
return;
}
QStringList fliterList = filenames.filter(lineeditStr);
filenamesComboBox->clear();
filenamesComboBox->addItems(fliterList);
QString fliterStr = fliterList.join(",");
LineEdit->setText(fliterStr);