3、QT 的基础控件的使用

一、qFileDialog 文件窗体

Header:
#include <QFileDialog> 
qmake:
QT += widgets
Inherits:
QDialog

静态函数接口:

void Widget::on_pushButton_clicked()
{//获取单个文件的路径名QString filename = QFileDialog :: getOpenFileName(this, tr("Open File"), "./", tr("C File(*.cpp *.c)"));ui->label->setText(filename);
}void Widget::on_pushButton_2_clicked()
{//获取多个文件的路径名QStringList file = QFileDialog :: getOpenFileNames(this,"Select one or more file to open","/home","all(*)");for(int i = 0; i < file.length(); i++){qDebug() << file.at(i) << endl;;}
}

QStringList 的使用:

append(const T &)往list中添加字符串
at(int)const T &//取出字符串中的数据
length()const : int //返回list的元素个数
removeAt(int)//删除某一个

二、QColorDialog 颜色窗体

Header:
#include <QColorDialog> 
qmake:
QT += widgets
Inherits:
QDialog

静态函数接口:

获取颜色值:
----------
QColor  getColor(const QColor &initial =Qt::white, QWidget *parent = nullptr, constQString &title = QString()
QColorDialog::ColorDialogOptions options =ColorDialogOptions())直接调用全部使用默认参数
----------------------
QColor color = QColorDialog::getColor();QColor 类的使用:
---------------
//获取当前颜色的R G B 值
void getRgb(int *r, int *g, int *b, int *a= nullptr) const
//获取当前颜色的名称
QString name() const
//设置当前颜色的RGB 值
void setRgb(int r, int g, int b, int a = 255)

练习:

void myColor::on_pushButton_clicked()
{//打开一个颜色窗体QColor color = QColorDialog :: getColor();//获取颜色值int r, g, b;color.getRgb(&r, &g, &b);qDebug() <<  r  << ":"  << g <<":" << b;qDebug() << color.name();QString c = QString("background-color: rgb(%1,%2,%3);").arg(r).arg(g).arg(b);//设置背景颜色this->setStyleSheet(c);
}

三、QFontDialog 字体窗口

Header:
#include <QFontDialog> 
qmake:
QT += widgets
Inherits:
QDialog

静态接口:

官方例子:
--------
bool ok;
QFont font = QFontDialog::getFont(&ok,this);
if (ok) {
} else {
}QFont 类的使用:
--------------
QString family() const 显示当前字体格式
void setFamily(const QString &family) 设置字体格式
int pointSize() const 获取当前字体大小
void setPointSize(int pointSize) 设置字体的大小
//其他控件的字体设置接口
setFont(const QFont &)

练习:

void myFont::on_pushButton_clicked()
{bool ok;QFont font = QFontDialog :: getFont(&ok, this);if(ok){qDebug() << "选择字体成功" << endl;qDebug() << font.family();//字体的格式qDebug() << font.pointSize();//字体的大小this->setFont(font);//设置当前界面的字体}else{qDebug() << "失败" << endl;}
}

四、QInputDialog 文本输入窗体

Header:
#include <QInputDialog>
qmake:
QT += widgets

静态接口

//获取浮点数据
double getDouble(QWidget *parent, const QString&title, const QString &label)
//获取整形
int getInt(QWidget *parent, const QString &title, const QString &label)
//获取列表的数据项
QString getItem(QWidget *parent, const QString &title, const QString &label, constQStringList &items)
//获取文本
QString getText(QWidget *parent, const QString &title, const QString &label)parent : 依赖的窗体
title:标题
label:提示信息

练习:

//获取浮点数据
void myInput::on_pushButton_clicked()
{double date = QInputDialog :: getDouble(this, "请输入浮点数据", "精度为.1", 0, -100, 100, 3);ui->label->setNum(date);
}void myInput::on_pushButton_2_clicked()
{//定义一个列表QStringList item;//往列表中添加内容item.append("苹果");item.append("雪梨");item.append("香蕉");item.append("西瓜");QString date = QInputDialog :: getItem(this, "请选择", "请选择", item);ui->label->setText(date);
}

五、QMessageBox消息窗体

QMessageBox Class
Header:
#include <QMessageBox>
qmake:
QT += widgets

静态函数接口

//关于接口QMessageBox::about(this,"关于","生产与1998......");QMessageBox::StandardButton critical(this, "错误", "有误",QMessageBox::Ok)QMessageBox::StandardButton information(this, "信息", "生产与1998......", QMessageBox::Ok)QMessageBox::StandardButton question(this, "问题", "请问", QMessageBox::Yes | QMessageBox::No)QMessageBox::StandardButton warning(this, "警告", "警告", QMessageBox::Ok)//提示接口
int ret = QMessageBox::warning(this,
tr("My Application"), 
tr("The document has been modified.\n"
"Do youwant to save your changes?"),
QMessageBox::Save | QMessageBox::Discard|QMessageBox::Cancel,
QMessageBox::Save);

在这里插入图片描述

窗口Logo:

  • 按照需要使用对应的接口函数
    在这里插入图片描述

练习:

void myMwssage::on_pushButton_clicked()
{int ret = QMessageBox :: warning(this, tr("温馨提示"),tr("今天吃饭了吗"),QMessageBox :: Yes | QMessageBox :: No);if(ret == QMessageBox :: Yes){QMessageBox :: warning(this, tr("温馨提示"),tr("健康生活从吃饭开始\n"),QMessageBox :: Ok);}else if(ret == QMessageBox :: No){QMessageBox :: warning(this, tr("温馨提示"),tr("乖乖,宝宝,快去吃饭\n"),QMessageBox :: Ok);}
}

按钮的选择:

在这里插入图片描述

六、QT基础控件的使用

1、Layouts布局控件的使用

在这里插入图片描述
2、Spacer控件的使用

在这里插入图片描述
3、Button控件的使用

在这里插入图片描述
①、pushbutton的使用

setIcon(const QIcon &) //设置按钮的小图标
setIconSize(const QSize &) //设置按钮的小图标大小
setEnabled(bool) //设置按钮是否能点击按钮的信号:
----------
void clicked(bool checked = false) 单击
void pressed() 按下
void released() 松开
void toggled(bool checked) 状态切换

②、QToolButton的使用

//选择的菜单信号
void triggered(QAction *action)
//设置工具按钮的菜单
void setMenu(QMenu *menu)
QMenu 类的使用
--------------
QMenu(const QString &title, QWidget *parent = nullptr)
QAction *addAction(const QString &text) //添加菜单
QAction *addAction(const QIcon &icon, constQString &text)
//显示菜单
ui->toolButton->showMenu();

练习:

#include "mybutton.h"
#include "ui_mybutton.h"
#include "QMenu"myButton::myButton(QWidget *parent): QWidget(parent), ui(new Ui::myButton)
{ui->setupUi(this);//设置按钮的状态为不可点击ui->pushButton->setEnabled(true);//设置菜单ui->toolButton->setText("菜单栏");QMenu *m = new QMenu("我的菜单");m->addAction("辣椒炒辣椒");m->addAction("鸡蛋炒鸡蛋");m->addAction("红烧番薯");ui->toolButton->setMenu(m);
}myButton::~myButton()
{delete ui;
}void myButton::on_toolButton_triggered(QAction *arg1)
{QString str = arg1->text();ui->label->setText(str);
}void myButton::on_toolButton_clicked()
{ui->toolButton->showMenu();
}//点击radioButton
void myButton::on_radioButton_clicked(bool checked)
{if(checked){ui->label->setText("选中");}else{ui->label->setText("松开");}
}void myButton::on_checkBox_clicked(bool checked)
{ui->label->setText(ui->checkBox->text());
}void myButton::on_checkBox_stateChanged(int arg1)
{ui->label->setNum(arg1);
}

七、item widget 视图的使用

1、listWidget的使用

QListWidget Class
Header:
#include <QListWidget>
qmake:
QT += widgets

接口函数

添加列表项信息:
void addItem(const QString &label)
void addItem(QListWidgetItem *item)
void addItems(const QStringList &labels)
-------------
在第几行插入:
void insertItem(int row, const QString&label)
-------------
取第几行的信息:
QListWidgetItem *item(int row) const
-------------
去除第几行:
QListWidgetItem *takeItem(int row)-------------------选择信号-------------------------
void currentRowChanged(int currentRow) //选择第几行信号
void itemClicked(QListWidgetItem *item) //点击信号
void itemDoubleClicked(QListWidgetItem*item)//双击信号-------------------QListWidgetItem类的使用-------------------------
QListWidgetItem(const QString &text);
QListWidgetItem(const QIcon &icon, constQString &text);

练习:

#include "mylistwidget.h"
#include "ui_mylistwidget.h"
#include <QFileDialog>mylistWidget::mylistWidget(QWidget *parent): QWidget(parent), ui(new Ui::mylistWidget)
{ui->setupUi(this);//添加字符ui->listWidget->addItem("小花");//添加图标ui->listWidget->addItem(new QListWidgetItem(QIcon("D:/2024/QT_Creator/003/work/pic/ma.jpg"), "二维码"));
}mylistWidget::~mylistWidget()
{delete ui;
}//双击取出list中的内容
void mylistWidget::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
{QString str = item->text();ui->label->setText(str);
}void mylistWidget::on_pushButton_clicked()
{//获取图片名称QStringList file = QFileDialog :: getOpenFileNames(this,"Select one or more files to open","/home","Image(*.png *.jpg)");//添加图片名字进入lisiui->listWidget->addItems(file);
}

八、treeWidget的使用

1、添加列信息

在这里插入图片描述

2、添加项目信息

在这里插入图片描述

接口函数:

双击信号:
void itemDoubleClicked(QTreeWidgetItem *item, int column)
取出用户选择的数据:
QString msg = item->text(column); //根据行号取出数据

练习:

#include "mytreewidget.h"
#include "ui_mytreewidget.h"
#include <QDebug>mytreeWidget::mytreeWidget(QWidget *parent): QWidget(parent), ui(new Ui::mytreeWidget)
{ui->setupUi(this);
}mytreeWidget::~mytreeWidget()
{delete ui;
}//双击表格信号
void mytreeWidget::on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column)
{QString msg = item->text(column);qDebug() << msg << endl;
}

九、tableWidget的使用

1、添加列的信息

在这里插入图片描述

2、添加行的信息

在这里插入图片描述

接口函数

设置第几行第几列的信息
void setItem(int row, int column, QTableWidgetItem *item)
QTableWidgetItem类的构造函数:
QTableWidgetItem(const QString &text);信号:
void cellDoubleClicked(int row, int column)//取出用户点击的行与列
void itemDoubleClicked(QTableWidgetItem *item) //取出点击的item

练习:设计一个表格,并往表格中插入 3个学生信息,列 姓名,班级 ,成绩

#include "mytabelwidget.h"
#include "ui_mytabelwidget.h"
#include <QTableWidgetItem>
#include <QDebug>mytabelWidget::mytabelWidget(QWidget *parent): QWidget(parent), ui(new Ui::mytabelWidget)
{ui->setupUi(this);//初始化表格信息(需要先有表格才能插入)ui->tableWidget->setItem(0,0,new QTableWidgetItem("小明"));ui->tableWidget->setItem(0,1,new QTableWidgetItem("178"));ui->tableWidget->setItem(0,2,new QTableWidgetItem("100"));ui->tableWidget->setItem(1,0,new QTableWidgetItem("小华"));ui->tableWidget->setItem(1,1,new QTableWidgetItem("170"));ui->tableWidget->setItem(1,2,new QTableWidgetItem("90"));ui->tableWidget->setItem(2,0,new QTableWidgetItem("小花"));ui->tableWidget->setItem(2,1,new QTableWidgetItem("170"));ui->tableWidget->setItem(2,2,new QTableWidgetItem("80"));
}mytabelWidget::~mytabelWidget()
{delete ui;
}//双击取出选中信息
void mytabelWidget::on_tableWidget_itemDoubleClicked(QTableWidgetItem *item)
{qDebug() << item->text();
}

十、contain Box 的使用

1、toolBox

在这里插入图片描述

2、tabWidget

在这里插入图片描述
在这里插入图片描述

练习:模仿Windows 的图片浏览器制作一个图片浏览器
在这里插入图片描述

#include "mywork.h"
#include "ui_mywork.h"
#include <QMenu>
#include <QDebug>
#include <QFileDialog>
#include <QPixmap>
#include <QMessageBox>myWork::myWork(QWidget *parent): QWidget(parent), ui(new Ui::myWork)
{ui->setupUi(this);ui->toolButton->setEnabled(true);QMenu *tool_Menu = new QMenu;tool_Menu->addAction("打开文件");ui->toolButton->setMenu(tool_Menu);
}myWork::~myWork()
{delete ui;
}//选择文件中的图片
void myWork::on_toolButton_triggered(QAction *arg1)
{if(arg1->text() == "打开文件"){QStringList list = QFileDialog :: getOpenFileNames(this,"打开图片文件","D:/picture","image(*.jpg *.png)");ui->listWidget->addItems(list);//获得listWidget列表的个数pic_Maxcount = ui->listWidget->count();}
}//选择选项
void myWork::on_toolButton_clicked()
{ui->toolButton->showMenu();
}//双击显示图片
void myWork::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
{pic_Index = ui->listWidget->row(item);QPixmap pic = QPixmap(item->text());pic = pic.scaled(ui->label->width(), ui->label->height());ui->label->setPixmap(pic);
}//前一张图片
void myWork::on_pushButton_clicked()
{if(--pic_Index < 0){pic_Index = pic_Maxcount - 1;}QPixmap pic = QPixmap(ui->listWidget->item(pic_Index)->text());pic = pic.scaled(ui->label->width(), ui->label->height());ui->label->setPixmap(pic);pha = 0;
}//后一张图片
void myWork::on_pushButton_2_clicked()
{if(++pic_Index > pic_Maxcount - 1){pic_Index = 0;}QPixmap pic = QPixmap(ui->listWidget->item(pic_Index)->text());pic = pic.scaled(ui->label->width(), ui->label->height());ui->label->setPixmap(pic);pha = 0;
}//左转
void myWork::on_pushButton_3_clicked()
{pha = (pha + 45) % 360;;QString str = ui->listWidget->item(pic_Index)->text();QPixmap pic = QPixmap(str);QTransform a;a.rotate(pha);pic = pic.transformed(a);pic = pic.scaled(ui->label->width(), ui->label->height());ui->label->setPixmap(pic);
}
//右转
void myWork::on_pushButton_4_clicked()
{pha = (pha - 45) % 360;;QString str = ui->listWidget->item(pic_Index)->text();QPixmap pic = QPixmap(str);QTransform a;a.rotate(pha);pic = pic.transformed(a);pic = pic.scaled(ui->label->width(), ui->label->height());ui->label->setPixmap(pic);
}//关于本程序(使用QMessageBox消息窗体)
void myWork::on_toolButton_2_clicked()
{QMessageBox::StandardButton result = QMessageBox::information(this,tr("关于"),tr("生产与1998"),QMessageBox :: Ok);
}

十二、InputWidget控件

1、combo Box的使用

在这里插入图片描述

Header:
#include <QComboBox> 
qmake:
QT += widgets
Inherits:
QWidget
Inherited By:
QFontComboBox

①、接口函数:

添加信息
void addItem(const QString &text, constQVariant &userData = QVariant())
void addItem(const QIcon &icon, constQString &text, constQVariant &userData =QVariant())
void addItems(const QStringList &texts)获取用户选择的信号
void activated(const QString &text)

②、练习:

    QString str;str = "Hello world";QStringList list;list << "关于1";list << "关于2";list << "关于3";ui->comboBox->addItem(str);//一次添加一条信息ui->comboBox->addItems(list);//一次添加多条信息
  • 和ToolButton的区别:combo Box点击之后会把信息显示到combo Box框。tool Button点击之后不会改变tool Button框里面的数据。

2、lineEdit的使用

在这里插入图片描述
在这里插入图片描述

Header:
#include <QLineEdit> 
qmake:
QT += widgets
Inherits:
QWidget

①、练习

//lineEdit框内容发生变化触发
void Widget::on_lineEdit_textChanged(const QString &arg1)
{qDebug() << arg1 <<endl;
}

3、QDial输入控件

Header:
#include <QDial> 
qmake:
QT += widgets
Inherits:
QAbstractSlider

①、接口函数

setRange(int , int ) //设置范围
setMaximum(int) //设置最大值
setMinimum(int) //最小值
value() const : int //获取当前值
setValue(int) //设置值信号:
void sliderMoved(int value) //滑动 值
void sliderPressed()
void sliderReleased()
void valueChanged(int value) //值发生改变

练习

//设置圆形滑动块的值
ui->dial->setRange(0, 1000);
ui->dial_2->setRange(0, 1000);void Widget::on_dial_valueChanged(int value)
{//使用dial_1的值改变dial_2的值ui->dial_2->setValue(value);
}

十三、Display Widget

1、textBrowser控件

在这里插入图片描述

Header:
#include <QTextBrowser> 
qmake:
QT += widgets
Inherits:
QTextEdit

①、接口函数

void setPlainText(QString msg); //显示文本的内容

②、练习

//设置框里面的内容
ui->textBrowser->setPlainText("Hello world");void Widget::on_pushButton_clicked()
{//按下改变框内的数据ui->textBrowser->setPlainText("nihao");
}//框内数据发生变化触发信号
void Widget::on_textBrowser_textChanged()
{//输出框内的数据qDebug() << ui->textBrowser->toPlainText() << endl;
}

2、QlcdNumber控件

在这里插入图片描述

Header:
#include <QLCDNumber> 
qmake:
QT += widgets
Inherits:
QFrame

①、接口函数

显示数据
void display(const QString &s)
void display(int num)
void display(double num)设置显示的模式
void setBinMode()//二进制显示
void setDecMode()///十进制显示
void setHexMode()//十六进制显示
void setOctMode()//八进制显示void setDigitCount(int numDigits) //设置LCD显示的位宽

②、练习

//设置显示
ui->lcdNumber->display("Hello");
ui->lcdNumber->display(32);//设置显示位宽
ui->lcdNumber->setDigitCount(10);
ui->lcdNumber->display(3.1415926);//获取显示数据
double num = ui->lcdNumber->value();

3、progressBar控件

在这里插入图片描述

Header:
#include <QProgressBar> 
qmake:
QT += widgets
Inherits:
QWidget

①、接口函数

获取
int maximum() const
int minimum() const
int value() const设置
void setRange(int minimum, int maximum)
void setValue(int value)
void setMaximum(int maximum)
void setMinimum(int minimum)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/123957.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Json“牵手”当当网商品详情数据方法,当当商品详情API接口,当当API申请指南

当当网是知名的综合性网上购物商城&#xff0c;由国内著名出版机构科文公司、美国老虎基金、美国IDG集团、卢森堡剑桥集团、亚洲创业投资基金&#xff08;原名软银中国创业基金&#xff09;共同投资成立1。 当当网从1999年11月正式开通&#xff0c;已从早期的网上卖书拓展到网…

【LeetCode - 每日一题】2594. 修车的最少时间(23.09.07)

2594. 修车的最少时间 题意 给定每个师傅修车的时间和需要修的车辆总数&#xff0c;计算修理所有汽车需要的最少时间。师傅可以同时修车。 解法 二分 看到题目没有任何头绪&#xff0c;直接查看题解。 至于为什么用二分做呢&#xff0c;讨论区有个友友这么说到&#xff1a…

学习心得08:OpenGL

我是想学习一下如何编程&#xff0c;这本书大多介绍的是原理。这两个完全是一回事。所以我又买了另外一本看看。

《TCP/IP网络编程》阅读笔记--Socket类型及协议设置

目录 1--协议的定义 2--Socket的创建 2-1--协议族&#xff08;Protocol Family&#xff09; 2-2--Socket类型&#xff08;Type&#xff09; 3--Linux下实现TCP Socket 3-1--服务器端 3-2--客户端 3-3--编译运行 4--Windows下实现 TCP Socket 4-1--TCP服务端 4-2--TC…

发布自定义node包,实现自定义脚本命令

比方说yarn&#xff0c;cnpm&#xff0c;vite等命令&#xff0c;无需执行node xxxx&#xff0c;可以自定义执行并完成一些操作 创建一个文件夹如下 在index.js中输入 #!/usr/bin/env node console.log(hello world);在package.json中添加 {...,"bin": {"pack…

陇剑杯2023线上wp

1. hard_web hard_web_1 题目内容&#xff1a;服务器开放了哪些端口&#xff0c;请按照端口大小顺序提交答案&#xff0c;并以英文逗号隔开(如服务器开放了 80 81 82 83 端口&#xff0c;则答案为 80,81,82,83) 半开放扫描 端口开放状态 攻击机发送 SYN 请求连接此端口靶机…

在element-plus中想要多选框(Checkbox)的功能,但是想要单选框(Radio)的圆形样式如何实现

在element plus中想要多选框&#xff08;Checkbox&#xff09;的功能&#xff0c;但是想要单选框(Radio)的圆形样式如何实现 原因 在完成一个业务需求时&#xff0c;需要一个框进行选择或者取消 element plus中的多选框&#xff08;Checkbox&#xff09;可以满足这个需求 但…

腾讯云、阿里云、华为云便宜云服务器活动整理汇总

云服务器的选择是一个很重要的事情&#xff0c;避免产生不必要的麻烦&#xff0c;建议选择互联网大厂提供的云计算服务&#xff0c;腾讯云、阿里云、华为云就是一个很不错的选择&#xff0c;云服务器稳定性、安全性以及售后各方面都更受用户认可&#xff0c;下面小编给大家整理…

2023 年高教社杯全国大学生数学建模竞赛题目 C 题 蔬菜类商品的自动定价与补货决策

C 题 蔬菜类商品的自动定价与补货决策 在生鲜商超中&#xff0c;一般蔬菜类商品的保鲜期都比较短&#xff0c;且品相随销售时间的增加而变差&#xff0c; 大部分品种如当日未售出&#xff0c;隔日就无法再售。因此&#xff0c;商超通常会根据各商品的历史销售和需求情况每天进…

表面之下:理解低代码代理世界中低佣金的经济学

低代码市场在中国自2019年左右兴起&#xff0c;至今已近五年。从最初的质疑&#xff0c;到如今的广泛应用&#xff0c;其业务价值已得到市场普遍认可。根据爱分析测算&#xff0c;2023年中国低代码市场规模为50.2亿元人民币&#xff0c;年增速为39.9%。低代码市场在满足企业需求…

无涯教程-JavaScript - ERFC.PRECISE函数

描述 ERFC.PRECISE函数返回x和无穷大之间集成的互补ERF函数。 互补误差函数等于1-ERF(即1-误差函数),由等式给出- $$Erfc(x) \frac {2} {\sqrt {\pi}} \int_ {x} ^ {\infty} e ^ {-t ^ 2} dt $$ 语法 ERFC.PRECISE(x)争论 Argument描述Required/OptionalxThe lower bound…

python技术面试题合集(二)

python技术面试题 1、简述django FBV和CBV FBV是基于函数编程&#xff0c;CBV是基于类编程&#xff0c;本质上也是FBV编程&#xff0c;在Djanog中使用CBV&#xff0c;则需要继承View类&#xff0c;在路由中指定as_view函数&#xff0c;返回的还是一个函数 在DRF中的使用的就是…

数据分析因子评分学习

当多个因素影响一个结果时&#xff0c;我们需要综合考虑这些因素分别对结果德影响。因子评分就是用于比较其对结果德影响程度。 文章目录 前言一、案例背景二、解决方案&#xff08;一&#xff09;分析思路&#xff08;二&#xff09;剔除无关数据&#xff08;三&#xff09;求…

核心实验11合集_hybrid接口特殊用法_ENSP

项目场景一&#xff1a; 核心实验11合集_hybrid接口特殊用法_ENSP 前期用户少&#xff0c;只有一个vlan段&#xff0c;如今需要划分不同vlan&#xff0c;使用hybrid接口实现。&#xff08;不可更改ip地址&#xff09; 实搭拓扑图&#xff1a; 具体操作&#xff1a; sw1: [sw1…

Linux--VMware的安装和Centos

一、VMware和Linux的关系 二、VMware的安装 VM_ware桌面虚拟机 最新中文版 软件下载 (weizhen66.cn) VMware-Workstation-Lite-16.2.2-19200509-精简安装注册版.7z - 蓝奏云 如果安装不成功&#xff0c;则设置BIOS 三、在VMware中加入Centos 下载地址&#xff1a; CentOS-…

【1++的数据结构】之哈希(一)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的数据结构】 文章目录 一&#xff0c;什么是哈希&#xff1f;二&#xff0c;哈希冲突哈希函数哈希冲突解决 unordered_map与unordered_set 一&#xff0c;什么是哈希&#xff1f; 首先我们要…

[E2E Test] Python Behave Selenium 一文学会自动化测试

前言 本文将使用Python Behave与Selenium&#xff0c;和同学们一起认识自动化测试&#xff0c;并附上完整的实践教程。 项目源码已上传&#xff1a;CSDN 郭麻花 Azure Repo python-behave-selenium 核心概念 1. 什么是E2E Test E2E即End-to-end&#xff0c;意思是从头到尾…

Java ArrayList

简介 ArrayList类示一个可以动态修改的数组&#xff0c;与普通数组的区别是它没有固定大小的限制&#xff0c;可以添加和删除元素。 适用情况&#xff1a; 频繁的访问列表中的某一元素只需要在列表末尾进行添加和删除某些元素 实例 ArrayList 是一个数组队列&#xff0c;提…

外滩大会今日开幕 近20位“两院”院士、诺贝尔奖和图灵奖得主齐聚

2023 Inclusion外滩大会9月7日在上海黄浦世博园正式开幕。这场以“科技创造可持续未来”为主题的大会为期三天&#xff0c;近20位“两院”院士、诺贝尔奖和图灵奖得主&#xff0c;全球超500位有影响力的科技领军企业和专家学者&#xff0c;将在此带来一场科技、人文和产业的思想…

深度学习之视频分类项目小记

写在前面&#xff0c;最近一阵在做视频分类相关的工作&#xff0c;趁有时间来记录一下。本文更注重项目实战与落地&#xff0c;而非重点探讨多模/视频模型结构的魔改 零、背景 目标&#xff1a;通过多模态内容理解技术&#xff0c;构建视频层级分类体系原技术方案&#xff1a…