QT QList<T>介绍与应用、详解、使用说明、官方手册翻译

article/2025/10/9 23:19:27

文章目录

      • 1. 简介
      • 2. 使用示例
      • 3. 官方手册
      • 4. Member Function Documentation

1. 简介

QList<T>是目前最常用的容器类 。它存储了给定类型的值的一个列表,而这些值可以通过索引访问。在内部,QList使用数组来实现,一确保进行快速的基于索引的访问。可以使用QList::append()和QList::prepend()在列表的两端添加项目,也可以使用QList::insert()在列表的中间插入项目。常用的QStringList继承自QList<QString>。

2. 使用示例

#include <QCoreApplication>
#include <QList>
#include <QDebug>
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 定义QList变量QList<QString> list;// 插入项目list << "aa" << "bb" << "cc"; // 查询和重新定义元素if(list[1] == "bb"){list[1] = "ab";}// 替换第3个元素list.replace(2, "bc");        // 将“cc”换为“bc”// 打印元素qDebug() << "the list is: ";for(int i=0; i<list.size(); ++i){qDebug() << list.at(i);   // 现在列表为aa ab bc}// 在列表尾部添加元素list.append("dd");// 在列表头部添加元素list.prepend("mm");   // 从列表中删除第3个项目,并获取它        QString str = list.takeAt(2); // 打印刚才删除的元素qDebug() << "at(2) item is: " << str;// 打印列表qDebug() << "the list is: ";for(int i=0; i<list.size(); ++i){qDebug() << list.at(i);   // 现在列表为mm aa bc dd}// 在位置2插入项目list.insert(2, "mm");// 交换项目1和项目3list.swap(1,3);// 打印列表qDebug() << "the list is: ";for(int i=0; i<list.size(); ++i){qDebug() << list.at(i);   // 现在列表为mm bc mm aa dd}// 列表中是否包含“mm”qDebug() << "contains 'mm' ?" << list.contains("mm"); // 包含“mm”的个数qDebug() << "the 'mm' count: " << list.count("mm"); // 第一个“mm”的位置,默认从位置0开始往前查找,返回第一个匹配的项目的位置qDebug() << "the first 'mm' index: " << list.indexOf("mm");// 第二个“mm”的位置,我们指定从位置1开始往前查找qDebug() << "the second 'mm' index: " << list.indexOf("mm", 2);return a.exec();
}

执行结果:
在这里插入图片描述
程序说明:

  • 添加元素
    QList<QString> list;list << "aa" << "bb" << "cc"; // 插入项目
  • 赋值操作
	list[0] = "aa";
  • 替换操作
	list.replace(2, "bc");
  • 获取大小
	int length = list.size();
  • 获取元素值
	list.at(i)
  • 在列表尾部添加
	list.append("dd");
  • 在列表头部添加
	list.prepend("mm"); 
  • 删除元素并获取
	QString str = list.takeAt(2);
  • 在指定位置插入
	list.insert(2, "mm");
  • 交换元素
	list.swap(1,3); 
  • 列表是否包含某值
	list.contains("mm"); 
  • 列表包含某值个数
	list.count("mm"); 
  • 元素位置,从0开始查找
	list.indexOf("mm");
  • 元素位置,从指定位置查找
	list.indexOf("mm", 2);

3. 官方手册

https://doc.qt.io/qt-5/qlist.html

4. Member Function Documentation


QList::QList(InputIterator first, InputIterator last)

构造一个包含迭代器范围[first, last]中的内容的QList。
InputIterator的值类型必须转换为T。
这个函数是在Qt 5.14中引入的。


QList::QList(std::initializer_list<T> args)

从args指定的std::initializer_list构造一个列表。
这个构造函数只有在编译器支持c++ 11初始化器列表时才启用。
这个函数是在Qt 4.8中引入的。


QList::QList(QList<T> &&other)

Move构造一个QList实例,使其指向其他对象指向的同一对象。
此功能在Qt 5.2中引入。


QList::QList(const QList<T> &other)

构造其他的副本。
由于QList是隐式共享的,因此此操作花费的时间是恒定的。 这使得从函数快速返回QList成为可能。 如果共享实例被修改,它将被复制(写时复制),这需要花费线性时间。
另请参阅operator =()。


QList :: QList()

构造一个空列表。


QList <T>&QList :: operator =(QList <T> && other)

将其他移动到此QList实例。
此功能在Qt 5.2中引入。


QList <T>&QList :: operator =const QList <T>&other)

将其他分配给该列表,并返回对该列表的引用。


QList::~QList()

销毁该列表。 对列表中的值的引用以及该列表的所有迭代器均无效。


void QList::append(const T &value)

在列表的末尾插入值。
示例:
在这里插入图片描述
这与list.insert(size(), value)相同.
如果未共享此列表,则此操作通常非常快(摊销的固定时间),因为QList在其内部缓冲区的两侧预分配了额外的空间,以允许在列表的两端快速增长。

另参见operator<<(), prepend(), 和 insert().


void QList::append(const QList<T> &value)

这是一个重载功能。
将值列表的项目追加到此列表。
此功能在Qt 4.5中引入。

另参见operator<<()operator+=().


const T &QList::at(int i) const

返回列表中索引位置i处的项目。 我必须是列表中的有效索引位置(即 0<=i<size())。
此功能非常快(恒定时间)。

另参见value()operator[]().


T &QList::back()

提供此功能是为了实现STL兼容性。 它等效于last()。 该列表不能为空。 如果列表可以为空,请在调用此函数之前调用isEmpty()。


const T &QList::back() const

这是一个重载功能。


QList::iterator QList::begin()

返回一个STL样式的迭代器,该迭代器指向列表中的第一项。

另参见constBegin()end().


QList::const_iterator QList::begin() const

这是一个重载功能


QList::const_iterator QList::cbegin() const

返回指向列表中第一项的const STL样式迭代器。
此功能在Qt 5.0中引入。

另参见begin()cend().


QList::const_iterator QList::cend() const

返回一个const STL样式的迭代器,该迭代器指向列表中最后一个项目之后的虚拟项目。
此功能在Qt 5.0中引入。

另参见cbegin()end().


void QList::clear()

从列表中删除所有项目。

另参见removeAll().


QList::const_iterator QList::constBegin() const

返回指向列表中第一项的const STL样式迭代器。

另参见 begin()constEnd().


QList::const_iterator QList::constEnd() const

返回一个const STL样式迭代器,该迭代器指向列表中最后一个项之后的假想项。

另参见constBegin()end().


const T &QList::constFirst() const

返回对列表中第一项的常量引用。列表不能为空。如果列表可以为空,请在调用此函数之前调用isEmpty()。
qt5.6中引入了这个函数。

另参见constLast(), isEmpty(), 和 first().


const T &QList::constLast() const

返回对列表中最后一项的引用。列表不能为空。如果列表可以为空,请在调用此函数之前调用isEmpty()。
qt5.6中引入了这个函数。

另参见constFirst(), isEmpty(), 和last().


bool QList::contains(const T &value) const

如果列表包含值的出现,则返回true;否则返回false。
此函数要求值类型具有运算符==()的实现。

另参见indexOf()count().


int QList::count(const T &value) const

返回值在列表中出现的次数。
此函数要求值类型具有运算符==()的实现。

另参见contains()indexOf().


int QList::count() const

返回列表中的项数。这实际上与size()相同。


QList::const_reverse_iterator QList::crbegin() const

以相反的顺序返回指向列表中第一项的const STL样式反向迭代器。
qt5.6中引入了这个函数。

另参见begin(), rbegin(), 和rend().


QList::const_reverse_iterator QList::crend() const

以相反的顺序返回一个const STL样式的反向迭代器,该迭代器指向列表中最后一项之后的一个。
此功能在Qt 5.6中引入。

另参见end(), rend(), 和 rbegin().


bool QList::empty() const

提供此功能是为了实现STL兼容性。 它等效于isEmpty(),如果列表为空,则返回true。


QList::iterator QList::end()

返回一个STL样式的迭代器,该迭代器指向列表中最后一个项目之后的虚拟项目。

另请参见begin()constEnd()


QList::const_iterator QList::end() const

这是一个重载函数。


bool QList::endsWith(const T &value) const

如果此列表不为空并且其最后一项等于value,则返回true;否则,返回true。 否则返回false。
此功能在Qt 4.5中引入。

另请参见isEmpty()contains()


QList::iterator QList::erase(QList::iterator pos)

从列表中删除与迭代器pos关联的项目,并将迭代器返回到列表中的下一个项目(可能是end())。

另请参见insert()removeAt()


QList::iterator QList::erase(QList::iterator begin, QList::iterator end)

这是一个重载函数。
从开始到(但不包括)结束删除所有项目。 将迭代器返回到调用之前结束引用的同一项目。


T &QList::first()

返回对列表中第一项的引用。 该列表不能为空。 如果列表可以为空,请在调用此函数之前调用isEmpty()。
另请参见constFirst()last()isEmpty()


const T &QList::first() const

这是一个重载函数。


[static] QList<T> QList::fromSet(const QSet<T> &set)

返回带有包含在set中的数据的QList对象。 QList中元素的顺序未定义。

示例:

  QSet<int> set;set << 20 << 30 << 40 << ... << 70;QList<int> list = QList<int>::fromSet(set);std::sort(list.begin(), list.end());

注意:从Qt 5.14开始,范围构造函数可用于Qt的通用容器类,并且应代替此方法使用。
另请参见fromVector()toSet()QSet :: toList()


[static] QList<T> QList::fromStdList(const std::list<T> &list)

返回一个QList对象,列表中包含数据。 QList中元素的顺序与list中的顺序相同。

示例:

  std::list<double> stdlist;list.push_back(1.2);list.push_back(0.5);list.push_back(3.14);QList<double> list = QList<double>::fromStdList(stdlist);

注意:从Qt 5.14开始,范围构造函数可用于Qt的通用容器类,并且应代替此方法使用。

另请参见toStdList()QVector :: fromStdVector()


[static] QList<T> QList::fromVector(const QVector<T> &vector)

返回带有向量中包含的数据的QList对象。

示例:

  QVector<double> vect;vect << 20.0 << 30.0 << 40.0 << 50.0;QList<double> list = QVector<T>::fromVector(vect);// list: [20.0, 30.0, 40.0, 50.0]

注意:从Qt 5.14开始,范围构造函数可用于Qt的通用容器类,并且应代替此方法使用。

另请参见fromSet()toVector()QVector :: toList()


T &QList::front()

提供此功能是为了实现STL兼容性。 它等效于first()。 该列表不能为空。 如果列表可以为空,请在调用此函数之前调用isEmpty()。


const T &QList::front() const

这是一个重载函数


int QList::indexOf(const T &value, int from = ...) const

返回列表中第一个出现的值的索引位置,从索引位置from开始向前搜索。 如果没有匹配项,则返回-1。

示例:

  QList<QString> list;list << "A" << "B" << "C" << "B" << "A";list.indexOf("B");          // returns 1list.indexOf("B", 1);       // returns 1list.indexOf("B", 2);       // returns 3list.indexOf("X");          // returns -1

此函数要求值类型具有operator ==()的实现。
请注意,QList使用基于0的索引,就像C ++数组一样。 除上述值外,不支持负索引。

另请参见lastIndexOf()contains()


void QList::insert(int i, const T &value)

在列表中索引位置i处插入值。 如果i <= 0,则该值位于列表的前面。 如果i> = size(),则将值附加到列表中。

Example:

  QList<QString> list;list << "alpha" << "beta" << "delta";list.insert(2, "gamma");// list: ["alpha", "beta", "gamma", "delta"]

另参见append(), prepend(), replace(), 和removeAt().


QList::iterator QList::insert(QList::iterator before, const T &value)

这是一个重载函数。
在迭代器之前指向的项目前面插入值。 返回指向插入项的迭代器。 注意,调用后传递给该函数的迭代器将无效。 应该使用返回的迭代器代替。


bool QList::isEmpty() const

如果列表不包含任何项目,则返回true;否则,返回true。 否则返回false。

See also size().


T &QList::last()

返回对列表中最后一项的引用。 该列表不能为空。 如果列表可以为空,请在调用此函数之前调用isEmpty()。

See also constLast(), first(), and isEmpty().


const T &QList::last() const

这是一个重载函数。


int QList::lastIndexOf(const T &value, int from = ...) const

返回列表中最后一次出现的值的索引位置,从索引位置from开始向后搜索。 如果from为-1(默认值),则搜索从最后一项开始。 如果没有匹配项,则返回-1。

Example:

  QList<QString> list;list << "A" << "B" << "C" << "B" << "A";list.lastIndexOf("B");      // returns 3list.lastIndexOf("B", 3);   // returns 3list.lastIndexOf("B", 2);   // returns 1list.lastIndexOf("X");      // returns -1

此函数要求值类型具有operator ==()的实现。
请注意,QList使用基于0的索引,就像C ++数组一样。 除上述值外,不支持负索引。

See also indexOf().


int QList::length() const

此函数与count()相同。
此功能在Qt 4.5中引入。

See also count().


QList<T> QList::mid(int pos, int length = -1) const

void QList::move(int from, int to)

将索引位置的项目从移到索引位置。
Example:
在这里插入图片描述
这与insert(to,takeAt(from))相同。此函数假定from和to都至少为0但小于size()。 为避免失败,请测试from和to两者均至少为0且小于size()。

See also swap(), insert(), and takeAt().


void QList::pop_back()

提供此功能是为了实现STL兼容性。 它等效于removeLast()。 该列表不能为空。 如果列表可以为空,请在调用此函数之前调用isEmpty()。


void QList::pop_front()

提供此功能是为了实现STL兼容性。 它等效于removeFirst()。 该列表不能为空。 如果列表可以为空,请在调用此函数之前调用isEmpty()。


void QList::prepend(const T &value)

在列表的开头插入值。
在这里插入图片描述
这与list.insert(0,value)相同。
如果未共享此列表,则此操作通常非常快(摊销的固定时间),因为QList在其内部缓冲区的两侧预分配了额外的空间,以允许在列表的两端快速增长。

See also append() and insert().


void QList::push_back(const T &value)

提供此功能是为了实现STL兼容性。 它等效于append(value)。


void QList::push_front(const T &value)

提供此功能是为了实现STL兼容性。 它等效于prepend(value)。


QList::reverse_iterator QList::rbegin()

以相反的顺序返回指向列表中第一项的STL样式反向迭代器。
此功能在Qt 5.6中引入。

See also begin(), crbegin(), and rend().


QList::const_reverse_iterator QList::rbegin() const

这是一个重载函数。
此功能在Qt 5.6中引入。


int QList::removeAll(const T &value)

删除列表中所有出现的value并返回删除的条目数。
在这里插入图片描述
此函数要求值类型具有operator ==()的实现。

See also removeOne(), removeAt(), takeAt(), and replace().


void QList::removeAt(int i)

删除索引位置i处的项目。 我必须是列表中的有效索引位置(即0 <= i <size())。

See also takeAt(), removeFirst(), removeLast(), and removeOne().


void QList::removeFirst()

删除列表中的第一项。 调用此函数等效于调用removeAt(0)。 该列表不能为空。 如果列表可以为空,请在调用此函数之前调用isEmpty()。

See also removeAt() and takeFirst().


void QList::removeLast()

删除列表中的最后一项。 调用此函数等效于调用removeAt(size()-1)。 该列表不能为空。 如果列表可以为空,请在调用此函数之前调用isEmpty()。

See also removeAt() and takeLast().


bool QList::removeOne(const T &value)

删除列表中第一个出现的值,并在成功时返回true; 否则返回false。
在这里插入图片描述
此函数要求值类型具有operator ==()的实现。
此功能在Qt 4.4中引入。

See also removeAll(), removeAt(), takeAt(), and replace().


QList::reverse_iterator QList::rend()

以相反的顺序返回一个STL样式的反向迭代器,该迭代器指向列表中最后一项之后的一个。
此功能在Qt 5.6中引入。

See also end(), crend(), and rbegin().


QList::const_reverse_iterator QList::rend() const

这是一个重载功能。
此功能在Qt 5.6中引入。


void QList::replace(int i, const T &value)

用值替换索引位置i处的项目。 我必须是列表中的有效索引位置(即0 <= i <size())。

See also operator[]() and removeAt().


void QList::reserve(int alloc)

为分配元素保留空间。
如果alloc小于列表的当前大小,则不会发生任何事情。
如果您可以预测要添加多少个元素,请使用此功能避免重复分配QList内部数据。 请注意,保留仅适用于内部指针数组。
此功能在Qt 4.7中引入。


int QList::size() const

返回列表中的项目数。

See also isEmpty() and count().


bool QList::startsWith(const T &value) const

如果此列表不为空并且其第一项等于value,则返回true;否则,返回true。 否则返回false。
此功能在Qt 4.5中引入。

See also isEmpty() and contains().


void QList::swap(QList<T> &other)

交换其他与此列表。 此操作非常快,并且永远不会失败。
此功能在Qt 4.8中引入。


void QList::swapItemsAt(int i, int j)

将索引位置i处的项目与索引位置j处的项目进行交换。 此函数假定i和j都至少为0但小于size()。 为避免失败,请测试i和j至少为0并小于size()。
在这里插入图片描述
此功能在Qt 5.13中引入。

See also move().


T QList::takeAt(int i)

删除索引位置i处的项目并返回它。 我必须是列表中的有效索引位置(即0 <= i <size())。
如果不使用返回值,则removeAt()会更有效。

See also removeAt(), takeFirst(), and takeLast().


T QList::takeFirst()

删除列表中的第一项并返回它。 这与takeAt(0)相同。 此函数假定列表不为空。 为避免失败,请在调用此函数之前调用isEmpty()。
如果未共享此列表,则此操作将花费固定时间。
如果不使用返回值,则removeFirst()会更有效。

See also takeLast(), takeAt(), and removeFirst().


T QList::takeLast()

删除列表中的最后一项并返回。 这与takeAt(size()-1)相同。 此函数假定列表不为空。 为避免失败,请在调用此函数之前调用isEmpty()。
如果未共享此列表,则此操作将花费固定时间。
如果不使用返回值,则removeLast()会更有效。

See also takeFirst(), takeAt(), and removeLast().


QSet<T> QList::toSet() const

返回带有此QList中包含的数据的QSet对象。 由于QSet不允许重复,因此生成的QSet可能小于原始列表。
在这里插入图片描述
注意:从Qt 5.14开始,范围构造函数可用于Qt的通用容器类,并且应代替此方法使用。

See also toVector(), fromSet(), and QSet::fromList().


std::list<T> QList::toStdList() const

返回带有此QList中包含的数据的std :: list对象。 例:
在这里插入图片描述
注意:从Qt 5.14开始,范围构造函数可用于Qt的通用容器类,并且应代替此方法使用。

See also fromStdList() and QVector::toStdVector().


QVector<T> QList::toVector() const

返回带有此QList中包含的数据的QVector对象。
在这里插入图片描述
注意:从Qt 5.14开始,范围构造函数可用于Qt的通用容器类,并且应代替此方法使用。

See also toSet(), fromVector(), and QVector::fromList().


T QList::value(int i) const

返回列表中索引位置i处的值。
如果索引i超出范围,则该函数将返回默认构造的值。 如果确定索引将在范围内,则可以使用at()来代替,这会稍微快一些。

See also at() and operator[]().


T QList::value(int i, const T &defaultValue) const

这是一个过载功能。
如果索引i超出范围,则该函数返回defaultValue。


bool QList::operator!=(const QList<T> &other) const

如果other不等于此列表,则返回true;否则,返回false。 否则返回false。
如果两个列表包含相同顺序的相同值,则认为它们相等。
此函数要求值类型具有operator ==()的实现。

See also operator==().


QList<T> QList::operator+(const QList<T> &other) const

返回一个列表,其中包含此列表中的所有项目,然后是另一个列表中的所有项目。

See also operator+=().


QList<T> &QList::operator+=(const QList<T> &other)

将另一个列表的项目追加到此列表,并返回对该列表的引用。

See also operator+() and append().


QList<T> &QList::operator+=(const T &value)

这是一个过载功能。
将值追加到列表。

See also append() and operator<<().


QList<T> &QList::operator<<(const QList<T> &other)

将另一个列表的项目追加到此列表,并返回对该列表的引用。

See also operator+=() and append().


QList<T> &QList::operator<<(const T &value)

这是一个过载功能。
将值追加到列表。


bool QList::operator==(const QList<T> &other) const

如果other等于此列表,则返回true;否则,返回true。 否则返回false。
如果两个列表包含相同顺序的相同值,则认为它们相等。
此函数要求值类型具有operator ==()的实现。

See also operator!=().


T &QList::operator[](int i)

返回索引位置i处的项目作为可修改的参考。 我必须是列表中的有效索引位置(即0 <= i <size())。
如果在当前正在共享的列表上调用此函数,它将触发所有元素的副本。 否则,此功能将以恒定时间运行。 如果不想修改列表,则应使用QList :: at()。

See also at() and value().


const T &QList::operator[](int i) const

这是一个重载功能。
Same as at(). 此函数以恒定时间运行。


http://chatgpt.dhexx.cn/article/ll81e95U.shtml

相关文章

Web后端开发入门(3)

在Eclipse中创建web项目 右键->new->Project->Web->Dynamic Web Project->下一步 Project name&#xff1a;给你的web项目起一个名称 Target runtime:你这个项目运行在哪一个web服务器上。点击New runtime&#xff0c;选择自己安装的服务器&#xff0c;然后点击…

【Delphi + Vue】Web后端动态图片传递给前端

在用Delphi做Web后台的时&#xff0c;有时需要用到后台动态生成二维码图片&#xff0c;给前端使用&#xff0c;虽然前端可以通过js库生成&#xff0c;目前流行的有 QR码生成器&#xff08;在线&#xff09;、QRCode.js&#xff08;支持本地&#xff09;、 arale-qrcode&#xf…

web搭建服务器端+创建web后端项目操作步骤

一、搭建服务器端 以前,我们的iava程序都是在本地运行,在idea执行main&#xff08;&#xff09;开始运行; 从javaEE开始,后端程序都是运行在服务器上,准备工作就是先要在我们的电脑上安装一个web服务器,把我们开发的java程序部署在服务器中,这样就可以从前端远程的通过网络进行…

从Web后端(Java)转到游戏服务端的感受

九零后的男生几乎都是玩电子游戏长大的&#xff0c;做游戏开发几乎是每个九零后男生从小就有的梦想吧。我的大学时代&#xff0c;正好与移动Web高速发展的时代重合了&#xff0c;大学里几乎所有同学都是做Web方向的开发&#xff0c;Web前端&#xff0c;Java后端等等。大四的秋招…

Python web后端开发框架 Django 、Flask、Tornado

深入学习Python &#xff0c;用Django做Web后端开发现在Python的用途愈来愈广&#xff0c;服务器、Web、游戏、爬虫、数据分析 以及人工智能 学习之路还很长技术之路 不能回头 陷进去 就出不来 就跟恋爱一般&#xff0c;学习中、项目中 印象笔记、有道云笔记、Onenote都记了好…

Web后端框架Springboot创建和基础讲解(一)

Springboot是一款底层由java编写的web后端框架&#xff0c;前身是spring框架&#xff0c;相较于前身框架而言&#xff0c;继承了其良好的兼容性以及扩展性&#xff0c;并且舍弃了大量繁杂的xml文件&#xff0c;将其改为依赖注入spirngboot框架的容器中&#xff0c;节省了工作者…

Web后端开发知识点整理

Web后端开发知识点整理 九大内置对象 1:为了方便开发者而在jsp页面加载完毕时而自动创建的内置对象 内置对象名 类型 request HttpServletRequest response HttpServletResponse config ServletConfig application ServletContext sessi…

wed后端和java的区别_web前端和web后端的区别详细分析

原标题&#xff1a;web前端和web后端的区别详细分析 在刚开始从事web开发时&#xff0c;首先要选准学习方向&#xff0c;看是想从事前端部分还是后端程序部分。当然在工作的后期&#xff0c;就不会分的那么细致了。做前端到后期也会懂一些后端的技术&#xff0c;反之&#xff0…

web搭建服务器端+创建web后端项目详细步骤

一、搭建服务器端 Web服务器&#xff1a;用于响应来自Web客户端&#xff08;如浏览器、移动应用程序等&#xff09;的请求并提供Web页面和其他Web资源的软件程序或计算机系统。它允许用户在Web浏览器中输入网址&#xff0c;通过HTTP协议向服务器发送请求&#xff0c;并收到Web页…

我的 Java/C# web 后端开发技术选择

简单介绍一下&#xff0c;我的 Java/C# web 后端开发技术选择。与网上一般人所用&#xff0c;大不相同。 先来一个表格&#xff0c;以下是我常用的Java/C# web 后端开发技术&#xff1a; 我常用的Java/C# web 后端开发技术 技术分类Java webC# web数据库bonecp,commons-dbcp,co…

php后端技术 有哪些,web后端开发技术有哪些 ?

如果你想要从事web后端开发的工作&#xff0c;那么你就需要了解web后端技术有哪些&#xff1f;并且要学习掌握这些web后端开发技术。下面我们就给大家介绍有哪些web后端技术。 web后端开发技术&#xff1a; 1、脚本语言基础。主流的后端脚本语言有php、 java 、 python、C、C等…

web后端开发php,web后端开发主要做什么?

应用程序或web服务可以分为两大部分:前端和后端。从这些名字可以猜出他们的角色。前端是你可以“看到”的部分。它是让你与应用程序或服务交互的部分。颜色、动画、布局以及所有其他增加你使用应用或网站体验的酷东西就是前端。前端通常称为用户界面(UI)。后端是你看不到的部分…

Web后端基础知识

文章目录 前言一、web基础知识1.web开发使用java的优势2.web前后端分离有什么好处&#xff1f;谈一下各自的职责。3.POJO和Java Bean&#xff1f;4.Tomcat容器(应用服务器)谈一下&#xff1f;5.Servlet谈一下&#xff1f;6.Servlet的生命周期谈一下&#xff1f;7.Servlet的三大…

web后端(javaWeb)

文章目录 1.javaweb简介2.XML3.Tomcat服务器4.Servlet15.1协议互联网通信模型5.2HTTP6.servlet27.JDBC8.JSP9.JSP中的文件下载和上传10.请求重定向和请求转发的区别11.Cookie 和 Session12.谷歌验证码的使用13.Filter过滤器14.ThreadLocal 的使用15.JSON和Ajax请求15.1JSON 在 …

GIMP基本功能和教程!

以剪贴板为内容创建一个工作布&#xff1a;SHIFT CTRL &#xff36; 或者&#xff1a;File -> Create ->From Clipboard 取消选择&#xff1a;SHIFT CTRL A 或者&#xff1a;Select -> None 反选&#xff08;选补集&#xff09;&#xff1a;CTRL I 或者&#xff…

GIMP教程 4 图层

图层可以说是现代制图软件的精髓&#xff0c;也是最根本地区别于纸质制图的地方。 GIMP呼出图层窗口的方法也很简单 点击【窗口----可停靠对话框----图层】 或者直接使用快捷键 ctrlL 便可呼出图层窗口 剩下的&#xff0c;就跟所有其它制图软件一样了。 还有问题可联系作者…

GIMP教程 5 选择

选择的意义在于限制作用范围&#xff0c;即&#xff0c;使所有操作只对选择部分有效&#xff0c; 不会“误伤”未选择部分。 gimp提供了多种选择工具&#xff0c;参见工具箱前几个按钮&#xff0c; 或者 【工具----选择工具】中按钮列表。 使用左键拖出选择范围&#xff0c…

教程:GIMP中怎样移动选区

教程&#xff1a;GIMP中怎样移动选区 更新历史 20190421&#xff1a; 首次发布 在GIMP中&#xff0c;一个常用的操作就是&#xff1a;选中某图层中的一块区域&#xff0c;然后对其进行移动。以下为教程。 注&#xff1a;完成以下教程时&#xff0c;使用的软件版本为 GIMP 2.10…

教程:GIMP中改变画布大小

教程&#xff1a;GIMP中改变画布大小 更新历史 20190428&#xff1a; 首次发布 在GIMP中&#xff0c;一个常用的操作就是&#xff1a;需要在不做缩放的情况下对图像进行扩展(或裁剪)&#xff0c;即将画布增大(或缩小)。以下为教程。 注&#xff1a;完成以下教程时&#xff0c;…