Qt学习记录(C++)——Day 2

news2024/11/30 0:39:25

目录

一、作业

要求:

实现:

1.创建新的窗口类

2. 主窗口中实现

二、 窗口菜单设计

效果展示图 

 三、图片资源的导入

步骤:

举例:

四、 对话框

1.模拟对话框

2. 非模态对话框

3.错误对话框

4.信息对话框

5.提问对话框

 6.警告对话框

7. 其他标准对话框

7.1颜色对话框(获取颜色RGB值)

7.2文件对话框(过滤)

7.3 字体对话框

五、创建简单登录界面 

 六、控件

效果展示图

源码:

推荐看视频(两个):

七、树控件(TreeWidget)

效果展示图

具体代码:

源码:

 八、表格控件(TableWidget)

效果展示图

具体代码

 源码:

九、其他常用控件

效果展示图

具体代码:

 源码:

视频:


一、作业

要求:

设计一个窗口,窗口内有一名为open的按钮。点击open按钮,重新生成一个新窗口,并且open按钮名变为close,此时再点击按钮新窗口关闭,原先窗口保持不变。

实现:

1.创建新的窗口类

my_liuwindow.h

#ifndef MY_LIUWINDOW_H
#define MY_LIUWINDOW_H
#include <QMainWindow>
class My_liuWindow: public QMainWindow
{
    Q_OBJECT;
public:
    My_liuWindow(QWidget *parent = nullptr);
    ~My_liuWindow();
};

#endif // MY_LIUWINDOW_H

my_liuwindow.cpp

#include "my_liuwindow.h"
#include<QPushButton>
My_liuWindow::My_liuWindow(QWidget *parent):QMainWindow(parent)
{
    setWindowTitle("My Custom Window");
    this->resize(600,600);
    QPushButton *btn = new QPushButton();
    btn->resize(100,50);

    btn->setParent(this);//设置按钮的父部件为当前窗口部件
    btn->show();//show以顶层方式弹出窗口控件
    btn->setText("关闭");
}
My_liuWindow::~My_liuWindow()
{

}

2. 主窗口中实现

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "my_liuwindow.h"
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    this->resize(600,600);//设置主窗口大小
    QPushButton *btn = new QPushButton();//创建新按钮
    btn->resize(100,50);//设置按钮大小
    btn->setParent(this);//设置按钮的父部件为当前窗口部件
    btn->show();//show以顶层方式弹出窗口控件
    btn->setText("Open");//按钮命名
    connect(btn,&QPushButton::clicked,this,&MainWindow::Openliuwindow);
    //做信号和槽的连接
}

void MainWindow:: Openliuwindow()
{
    My_liuWindow *SecondWindow = new My_liuWindow(this);//创建新窗口指针
    SecondWindow->move(100,100);//移动新窗口显示位置,避免遮挡旧窗口
    SecondWindow->show();//显示新窗口
    QPushButton *btn = qobject_cast<QPushButton *>(sender());
    //用于在槽函数中处理多个按钮或其他类型的信号源,
    //以便能够区分是哪一个按钮或对象触发了槽函数。
    btn->setText("close");//改名
    disconnect(btn,&QPushButton::clicked,this,&MainWindow::Openliuwindow);
    //断开原有的连接
    connect(btn,&QPushButton::clicked,this,[=](){
    //创立新连接
        SecondWindow->close();
    });
}

源码:

https://gitee.com/liu-wei-hao123/green_C/tree/master/03MyWindow

二、 窗口菜单设计

#include "mainwindow.h"
#include<QMenuBar>
#include<QToolBar>
#include<QPushButton>
#include<QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    resize(600,400);

    //菜单栏最多只能有一个
    //菜单创建
    QMenuBar *bar = menuBar();
    //将菜单栏放入窗口中
    setMenuBar(bar);

    //创建菜单
    QMenu *fileMenu = bar->addMenu("文件");
    QMenu *editMenu = bar->addMenu("编辑");

    //创建菜单项目
    QAction * newAction = fileMenu->addAction("新建");
    //添加分割线
    fileMenu->addSeparator();
    QAction * openAction = fileMenu->addAction("打开");

    //工具栏可以有多个
    QToolBar * toolBar = new QToolBar(this);
    addToolBar(Qt::LeftToolBarArea,toolBar);

    //后期设置 只允许 左右停靠
    toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
    //设置浮动
    toolBar->setFloatable(false);
    //设置移动(总开关)
    toolBar->setMovable(true);
    //工具栏中可以设置内容
    toolBar->addAction(newAction);
    //添加分割线
    toolBar->addSeparator();
    toolBar->addAction(openAction);
    //工具栏中添加控件
    QPushButton * btn = new QPushButton("a",this);
    toolBar->addWidget(btn);

    //状态栏最多有一个
    QStatusBar * stBar = statusBar();
    //设置到窗口中
    setStatusBar(stBar);
    //放标签控件
    QLabel * label = new QLabel("提示信息",this);
    stBar->addWidget(label);

    QLabel * label2 = new QLabel("右侧提示信息",this);
    stBar->addPermanentWidget(label2);

    //铆接部件 (浮动窗口) 可以有多个
    QDockWidget * dockWidget = new QDockWidget("浮动",this);
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
    //设置后期停靠区域,只允许上下
    dockWidget->setAllowedAreas( Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea );

    //设置中心部件 只能一个
    QTextEdit * edit = new QTextEdit(this);
    setCentralWidget(edit);
}

MainWindow::~MainWindow()
{
}

效果展示图 

源码:

https://gitee.com/liu-wei-hao123/green_C/tree/master/04MainWindow

 三、图片资源的导入

步骤:

1.将存放图片的文件夹复制到项目文件夹中

2.右击项目,新建文件,选择Qt->Qt Resource File,命名。

3.新建成功,显示该页面

4.点击Add Prefix,添加文件前缀名

5.点击Add Files,找到刚才放入项目中的图片文件夹,选中全部图片加入即可。

举例:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //ui->actionnew->setIcon(QIcon("D:/word/功课/Qt学习/anniu/1.png"));

    //添加Qt资源  “ : + 前缀名 + 文件名 ”
    ui->actionnew->setIcon(QIcon(":/new/anniu/1.png"));
    ui->actionopen->setIcon(QIcon(":/new/anniu/2.png"));
}

MainWindow::~MainWindow()
{
    delete ui;
}

很明显,在UI界面创建的新建和打开以及被图片替换掉了。 

源码:

https://gitee.com/liu-wei-hao123/green_C/tree/master/05_QtSource

四、 对话框

1.模拟对话框

(不可以对其他窗口进行操作)

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDialog>
#include <QDebug>
#include <QMessageBox>
#include <QColorDialog>
#include <QFileDialog>
#include <QFontDialog>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //点击新建按钮 弹出一个对话框
       connect(ui->actionnew,&QAction::triggered,[=](){
           //对话框 分类
           //模态对话框 (不可以对其他窗口进行操作)
           //模态创建 阻塞
           QDialog dlg(this);
           dlg.resize(200,100);
           dlg.exec();

           qDebug() << "模态对话框弹出了";
               });
}

2. 非模态对话框

(可以对其他窗口进行操作)

             //非模态对话框
             QDialog * dlg2 = new QDialog (this);
             dlg2->resize(200,100);
             dlg2->show();
             dlg2->setAttribute(Qt::WA_DeleteOnClose); //55号 属性
             qDebug() << "非模态对话框弹出了";

3.错误对话框

           QMessageBox::critical(this,"critical","错误");

4.信息对话框

           QMessageBox::information(this,"info","信息");

 

5.提问对话框

           //提问对话框
           //参数1  父亲  参数2  标题  参数3  提示内容  参数4 按键类型  参数5 默认关联回车按键
           if (QMessageBox::Save  ==  QMessageBox::question(this,"ques","提问",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel))
           {
               qDebug() << "选择的是保存";

           }
           else
           {
               qDebug() << "选择的是取消";
           }

 6.警告对话框

           QMessageBox::warning(this,"warning","警告");

7. 其他标准对话框

7.1颜色对话框(获取颜色RGB值)

           //颜色对话框
           QColor color =  QColorDialog::getColor(QColor(255,0,0));
           qDebug() << "r = " << color.red() 
                    << " g = " << color.green() 
                    << " b  = " << color.blue() ;

7.2文件对话框(过滤)

           //文件对话框  参数 1  父亲  参数2  标题   
                        参数3  默认打开路径  参数4  过滤文件格式
           //返回值是 选取的路径
            QString str = QFileDialog::getOpenFileName(this,"打开文 
            件","D:\\下载\\aaa","(*.txt)");
            qDebug() << str;

 

7.3 字体对话框

            //字体对话框
           bool flag;
           QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",36));
           qDebug() << "字体:" << font.family().toUtf8().data()
                    //.ToUtf8() 转为 QByteArray,.data() 转为 char*
                    << " 字号 "<< font.pointSize()
                    << " 是否加粗"<< font.bold()
                    << " 是否倾斜"<<font.italic();

 

源码:

https://gitee.com/liu-wei-hao123/green_C/tree/master/06_QDialog

五、创建简单登录界面 

源码:

https://gitee.com/liu-wei-hao123/green_C/tree/master/07_layout

推荐看视频:

登录界面icon-default.png?t=N7T8https://www.bilibili.com/video/BV1g4411H78N?p=23&vd_source=0c3415ec4f238d01f925a8521c722882

 六、控件

效果展示图

源码:

https://gitee.com/liu-wei-hao123/green_C/tree/master/08_Qt_control

推荐看视频(两个):

https://www.bilibili.com/video/BV1g4411H78N?p=24&vd_source=0c3415ec4f238d01f925a8521c722882

https://www.bilibili.com/video/BV1g4411H78N?p=25&vd_source=0c3415ec4f238d01f925a8521c722882

七、树控件(TreeWidget)

效果展示图

具体代码:

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //treeWidget树控件

    //设置水平头
   ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介绍");

   QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<<"力量");
   QTreeWidgetItem * liItem1 = new QTreeWidgetItem(QStringList()<<"敏捷");
   QTreeWidgetItem * liItem2 = new QTreeWidgetItem(QStringList()<<"智力");
   //加载顶层节点
   ui->treeWidget->addTopLevelItem(liItem);
   ui->treeWidget->addTopLevelItem(liItem1);
   ui->treeWidget->addTopLevelItem(liItem2);
     //追加子节点
     QStringList heroL1;
     heroL1<<"钢被🐖"<<"前排坦克,能在吸收伤害的同时造成可观的范围输出";
     QTreeWidgetItem * l1 = new QTreeWidgetItem(heroL1);
     liItem->addChild(l1);
     QStringList heroL2;
     heroL2<<"斯比克"<<"前排坦克,能在吸收伤害的同时反弹所受伤害的50%";
     QTreeWidgetItem * l2 = new QTreeWidgetItem(heroL2);
     liItem->addChild(l2);

     QStringList heroM1;
     heroM1<<"小丑🤡"<<"游走刺客,拥有伤害高可投掷的小丑炸弹和珍贵的稻草人保命技能";
     QTreeWidgetItem * M1 = new QTreeWidgetItem(heroM1);
     liItem1->addChild(M1);

     QStringList heroM2;
     heroM2<<"小丑皇🎃"<<"隐身刺客,拥有伤害高可投掷的小丑夺命连环手里剑和多重影分身";
     QTreeWidgetItem * M2 = new QTreeWidgetItem(heroM2);
     liItem1->addChild(M2);

     QStringList heroZ1;
     heroZ1<<"猪角量"<<"分析法师,能快速对当前战场情况进行分析并做出判断";
     QTreeWidgetItem * Z1 = new QTreeWidgetItem(heroZ1);
     liItem2->addChild(Z1);

     QStringList heroZ2;
     heroZ2<<"骤雨"<<"爆发法师,短时间内对当前区域造成大量冰锥穿刺";
     QTreeWidgetItem * Z2 = new QTreeWidgetItem(heroZ2);
     liItem2->addChild(Z2);

}

Widget::~Widget()
{
    delete ui;
}

源码:

 https://gitee.com/liu-wei-hao123/green_C/tree/master/09_TreeWidget

 八、表格控件(TableWidget)

效果展示图

具体代码

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //TableWidget控件
    //设置列数
    ui->tableWidget->setColumnCount(3);

        //设置水平表头
        ui->tableWidget->setHorizontalHeaderLabels(QStringList()
                                                   <<"姓名"
                                                   << "性别"
                                                   << "年龄");

        //设置行数
        ui->tableWidget->setRowCount(5);

        //设置正文
        //ui->tableWidget->setItem(0,0, new QTableWidgetItem("亚瑟"));
        QStringList nameList;
        nameList<< "亚瑟"<< "赵云"<< "张飞"<< "关羽" << "花木兰";

        QList<QString> sexList;
        sexList << "男"<< "男"<< "男"<< "男"<< "女";

        for(int i = 0 ; i < 5 ;i ++)
          {
              int col = 0;
              ui->tableWidget->setItem(i,col++, new QTableWidgetItem(nameList[i]));
              ui->tableWidget->setItem(i,col++, new QTableWidgetItem(sexList.at(i)));
              //int 转 QString
              ui->tableWidget->setItem(i,col++, new QTableWidgetItem( QString::number(i+18)));
          }

}

Widget::~Widget()
{
    delete ui;
}

 源码:

https://gitee.com/liu-wei-hao123/green_C/tree/master/

九、其他常用控件

效果展示图

具体代码:

#include "widget.h"
#include "ui_widget.h"
#include<QMovie>
#include<QImage>
#include<QPixmap>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //栈控件使用
        //设置默认定位 scrollArea
        ui->stackedWidget->setCurrentIndex(0);

        //scrollArea按钮
        connect(ui->btn_scrollArea,&QPushButton::clicked,[=](){
            ui->stackedWidget->setCurrentIndex(0);
        });

        //toolBox按钮
        connect(ui->btn_ToolBox,&QPushButton::clicked,[=](){
            ui->stackedWidget->setCurrentIndex(1);
        });

        //TabWidget按钮
        connect(ui->btn_TabWidget,&QPushButton::clicked,[=](){
            ui->stackedWidget->setCurrentIndex(2);
        });

        //下拉框
        ui->comboBox->addItem("奔驰");
        ui->comboBox->addItem("宝马");
        ui->comboBox->addItem("拖拉机");

        //点击按钮 选中拖拉机选项
        connect(ui->btn_select,&QPushButton::clicked,[=](){
            //ui->comboBox->setCurrentIndex(2);
            ui->comboBox->setCurrentText("拖拉机");
        });

        ui->lbl_Image->setPixmap(QPixmap(":/anniu/1.png"));

        //利用QLabel显示 gif动态图片
        QMovie * movie = new QMovie(":/anniu/5.gif");
        ui->lbl_movie->setMovie(movie);
        //播放动图
        movie->start();
}

Widget::~Widget()
{
    delete ui;
}

 源码:

https://gitee.com/liu-wei-hao123/green_C/tree/master/11_OthorControl

视频:

https://www.bilibili.com/video/BV1g4411H78N?p=28&vd_source=0c3415ec4f238d01f925a8521c722882

  第二天的学习记录分享完毕,关注我,带你了解更多的编程知识。

看到这里,不妨点个攒,关注一下吧!

最后,谢谢你的观看!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

边缘计算采集网关如何助力制造企业解决数采问题-天拓四方

一、企业背景 某大型制造企业&#xff0c;位于国内某经济发达的工业园区内&#xff0c;拥有多个生产线和智能化设备&#xff0c;致力于提高生产效率、降低运营成本。随着企业规模的扩大和生产自动化的推进&#xff0c;该企业面临着海量数据处理、实时响应和网络安全等多重挑战…

Linux下网络编程基础知识--协议

网络基础 这一个课程的笔记 相关文章 协议 Socket编程 高并发服务器实现 线程池 协议 一组规则, 数据传输和数据的解释的规则。 比如说依次发送文件的文件名, 文件的大小, 以及实际的文件, 这样规定发送一个文件的顺序以及发送的每一个部分的格式等可以算是一种协议 型协议 …

(学习日记)2024.04.12:UCOSIII第四十节:软件定时器函数接口讲解

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

CUDA 12.4文档1:使用GPU好处CUDA可扩展编程模型

本博客参考官方文档进行介绍&#xff0c;全网仅此一家进行中文翻译&#xff0c;走过路过不要错过。 官方网址&#xff1a;https://docs.nvidia.com/cuda/cuda-c-programming-guide/ 本文档分成多个博客进行介绍&#xff0c;在本人专栏中含有所有内容&#xff1a; https://bl…

Linux网卡:连接虚拟与现实的桥梁

在介绍Linux网卡之前&#xff0c;让我们先迈入时光机&#x1f570;️&#xff0c;回到1980年代末期&#xff0c;互联网正在逐步从一个科研网络向公众网络转变&#xff0c;Linux——一个自由和开源的操作系统诞生了&#x1f427;。Linux的出现&#xff0c;对于计算机科学领域来说…

【微命令】git 如何修改某个分支的名字(git branch -m newbranch)

简要信息&#xff0c;快速记录 命令 # 切换到某个需要修改的分支 git checkout oldbranch# 修改分支名字 git branch -m newbranch假设作为git设计者&#xff0c;要用来修改branch的命令&#xff0c;那么就是 git branch作为前缀&#xff0c;然后进一步修改的命令是branch相关…

CorelDRAW21.2.4中文最新官方和谐版下载

CorelDRAW是一款由加拿大Corel公司出品的平面设计软件&#xff0c;也被称为CDR。它是一款功能强大的矢量图形制作和排版软件&#xff0c;主要面向绘图设计师和印刷输出人员。该软件提供了矢量插图、页面布局、图片编辑和设计工具&#xff0c;广泛应用于排版印刷、矢量图形编辑及…

24/04/11总结

IO流(First edition): IO流&#xff1a;用于读入写出文件中的数据 流的方向&#xff08;输入指拿出来,输出指写进去) 输入流:读取 输出流:写出 操作文件类型 字节流:所有类型文件 字符流:纯文本 字节流: InputStream的子类:FileInputStream:操作本地文件的字节输入流 OutputSt…

【HTML】制作一个简单的实时字体时钟

目录 前言 HTML部分 CSS部分 JS部分 效果图 总结 前言 无需多言&#xff0c;本文将详细介绍一段HTML代码&#xff0c;具体内容如下&#xff1a; 开始 首先新建文件夹&#xff0c;创建一个文本文档&#xff0c;两个文件夹&#xff0c;其中HTML的文件名改为[index.html]&am…

二分查找-图文详解,看不懂你来打我。。。

一、查找算法 在计算机科学和算法领域&#xff0c;搜索是一项基本的任务。在海量数据中寻找特定的元素是一项常见的任务&#xff0c;而二分查找&#xff08;Binary Search&#xff09;是一种非常高效的搜索算法&#xff0c;特别适用于有序数组。 二、二分查找 二分查找是一种…

【阿里淘天笔试题汇总】2024-04-10-阿里淘天春招笔试题-三语言题解(CPP/Python/Java)

&#x1f36d; 大家好这里是KK爱Coding &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新淘天近期的春秋招笔试题汇总&#xff5e; &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f…

【前端Vue】Vue3+Pinia小兔鲜电商项目第5篇:整体认识和路由配置,本资源由 收集整理【附代码文档】

Vue3ElementPlusPinia开发小兔鲜电商项目完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;认识Vue3&#xff0c;使用create-vue搭建Vue3项目1. Vue3组合式API体验,2. Vue3更多的优势,1. 认识create-vue,2. 使用create-vue创建项目,1. setup选项的写法和执行…

基于Springboot的箱包存储系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的箱包存储系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

linux的io的知识大全

C语言的io操作 写文件 #include<stdio.h> #include<string.h>#define FILE_NAME "log.txt" int main() {FILE * fp fopen(FILE_NAME, "w");if(fpNULL){printf("fopen error!\n");}const char* msg "hello zk\n";int c…

【复现】浙大恩特客户资源管理系统 SQL注入漏洞_71

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 浙大恩特客户资源管理系统是一款针对企业客户资源管理的软件产品。该系统旨在帮助企业高效地管理和利用客户资源&#xff0c;提升…

Golang 基于共享变量的并发锁

一、互斥锁 先看一个并发情况&#xff0c;同时操作一个全局变量&#xff0c;如果没有锁会怎么样 假设有1000个goroutines并发进行银行余额的扣除&#xff0c;每次都扣除10元&#xff0c;起始的总余额是10000&#xff0c;理论上并发执行完应该是0对不对&#xff0c;但实际却不…

GeoServer:忘记密码重置

操作步骤 1. 找到data_dir/security/usergroup/default目录下的users.xml文件&#xff0c; 2.修改password为plain:geoserver&#xff0c; 这里无论原来的密码是什么&#xff0c;改为plain:geoserver之后&#xff0c;就可以通过admin&#xff1a;geoserver默认账户密码登录了。…

RAG应用开发实战(01)-RAG应用框架和解析器

1 开源解析和拆分文档 第三方的工具去对文件解析拆分&#xff0c;去将我们的文件内容给提取出来&#xff0c;并将我们的文档内容去拆分成一个小的chunk。常见的PDF word mark down, JSON、HTML。都可以有很好的一些模块去把这些文件去进行一个东西去提取。 优势 支持丰富的文…

电商新宠:淘宝拍立淘API接口助力精准搜索商品信息

淘宝拍立淘API接口&#xff0c;作为电商领域的新宠&#xff0c;正以其独特的图像识别技术为精准搜索商品信息提供强大的助力。这项基于深度学习和计算机视觉技术的先进服务&#xff0c;使得用户能够通过上传图片来快速搜索淘宝平台上的相关商品&#xff0c;极大地提升了购物体验…

鸿蒙让我赚到了第一笔桶金!年薪33.6W!

抢人&#xff01;抢人&#xff01;抢人&#xff01; 所谓抢滩鸿蒙&#xff0c;人才先行。鸿蒙系统火力全开后&#xff0c;抢人已成鸿蒙市场的主题词&#xff01; 智联招聘数据显示&#xff0c;春节后首周&#xff0c;鸿蒙相关职位数同比增长163%&#xff0c;是去年同期的2.6倍…