当前位置: 首页 > news >正文

凡科网站能在百度做推广吗班级优化大师怎么下载

凡科网站能在百度做推广吗,班级优化大师怎么下载,网站开发交付资料,口碑做团购网站目录 1.获取用户文件列表信息分析 2.设置图标属性 3.向服务器获取文件的数量 4.向服务器获取文件信息列表 4.显示图标 1.获取用户文件列表信息分析 1.将QListWidget设置为图标模式 2. 当我们点击"按下载量升序","按下载量降序",“更新” 菜单选项 都会…

目录

1.获取用户文件列表信息分析

2.设置图标属性

3.向服务器获取文件的数量

 4.向服务器获取文件信息列表

4.显示图标


1.获取用户文件列表信息分析

1.将QListWidget设置为图标模式

2. 当我们点击"按下载量升序","按下载量降序",“更新菜单选项 会调用 getFileCount 接口获取文件数量,如果文件数量大于0,则会getFileList获取所有文件的信息。

3.将获取的所有的文件信息保存到 QList<FileInfo*> m_fileInfoList;(FileInfo是一个自定义文件结构体)

3.调用 refreshFileList 接口 将 m_fileInfoList中 中的所有文件信息以 图标形式 显示到 QWidgetList窗口上。( 图标 包含 图片和文件名

    //设置菜单选项的槽函数connect(m_downloadAscAction,&QAction::triggered,this,[=]{// qDebug()<<"按下载量降序";getFileCount(Desc);});connect(m_downloadDescAction,&QAction::triggered,this,[=]{//  qDebug()<<"按下载量升序";getFileCount(Asc);});connect(m_refreshAction,&QAction::triggered,this,[=]{getFileCount(Normal);qDebug()<<"更新";});getFileCount(MyFileDisplay cmd);//获取文件的数量getFileList(MyFileDisplay cmd);//获取用户的文件信息列表refreshFileList();//显示图标

2.设置图标属性

    //设置图标模式ui->listWidget->setViewMode(QListView::IconMode);//设置在图标的图片的大小ui->listWidget->setIconSize(QSize(80,80));//设置图标的 布局的大小ui->listWidget->setGridSize(QSize(120,200));//自适应布局,需要将窗口进行布局才能生效ui->listWidget->setResizeMode(QListView::Adjust);//设置图标拖动状态,QListView::Static表示不可以拖动ui->listWidget->setMovement(QListView::Static);

3.向服务器获取文件的数量

客户端 会先调用 getFileCount 发送一个http请求 向服务器获取用户的文件数量 ,http请求如下:

POST http://119.23.41.13:80/myfiles?cmd=count HTTP/1.1
Content-Type: application/json{"token": "7e4b94f141b8bc7680fac2fa7dcdddf3","user": "zhangsan"
}

服务器返回的 http响应:

HTTP/1.1 200 OK{"num":	"7",  //文件的数量"code":	"110" //获取失败为 111
}

请求流程: 

代码实现: 

​//Normal正常显示,Asc 按下载量升序显示,Desc按下载量降序显示
enum MyFileDisplay { Normal, Asc, Desc};//获取文件的数量
void myfile::getFileCount(MyFileDisplay cmd)
{/*1.设置http请求并发送http请求2.获取响应的正文数据,并解析"code",和"num"3.如果code为"110","num"不为0,则调用getFileList获取文件信息列表        *///封装http请求QNetworkRequest request;//从配置文件中获取到ip地址和port端口号QString ip=Common::getInstant()->getConfValue("web_server","ip");QString port=Common::getInstant()->getConfValue("web_server","port");QString url = QString("http://%1:%2/myfiles?cmd=count").arg(ip).arg(port);request.setUrl(QUrl(url));//设置文件类型request.setHeader(QNetworkRequest::ContentTypeHeader,QVariant("application/json"));//将data数据以QJson的格式发送给服务器QJsonObject object;object.insert("user", m_logininfo->user());object.insert("token", m_logininfo->token());QJsonDocument doc(object);QByteArray data=doc.toJson();//发送请求// qDebug()<<data;QNetworkReply* rely=m_manager->post(request,data);connect(rely,&QNetworkReply::readyRead,this,[=]{//响应到达,读取所有的数据QByteArray s=rely->readAll();qDebug() << "服务器返回数据:" << QString(s);//将s数据转换为Json对象QJsonParseError err;QJsonDocument document=QJsonDocument::fromJson(s,&err);if(err.error!=QJsonParseError::NoError){qDebug()<<"QJson格式错误";return;}//将QJson字符串转换为QJson对象QJsonObject object1;object1=document.object();//获取状态码QString value1=object1["code"].toString();if(value1=="110"){//获取列表成功,获取文件列表myfileCount=object1["num"].toString().toInt();if(myfileCount>0){//文件列表数量大于0getFileList(cmd);//请求文件列表}}if(value1=="111"){//获取失败qDebug()<<"获取文件失败";}});
}

 4.向服务器获取文件信息列表

当文件数量大于0的时候,则会调用 getFileList 接口 发送一个http请求 向服务器请求 用户的 文件信息列表,http请求如下:

POST http://119.23.41.13:80/myfiles?cmd=normal HTTP/1.1
Content-Type: application/json
Content-Length: 108{"count": 7, //请求的文件数量"start": 0, //从哪个文件信息开始获取"token": "7e4b94f141b8bc7680fac2fa7dcdddf3","user": "zhangsan" 
}

服务器发送回来的响应:

HTTP/1.1 200 OK{"files":	[{"user":	"zhangsan","md5":	"b6bb728a0016b6327a6b549ea1f719d1","create_time":	"2023-07-27 20:55:15","file_name":	"test1.json","share_status":	1,"pv":	0,"url":	"http://172.31.39.20:80/group1/M00/00/00/rB8nFGTCaTOAdjiBAAABBfJuwvA57.json","size":	261,"type":	"json"}, {"user":	"zhangsan","md5":	"05aee6833498afae803c103488838616","create_time":	"2023-07-28 01:27:56","file_name":	"2023包装印刷工艺实验_ 综合性实验1.doc","share_status":	1,"pv":	0,"url":	"http://172.31.39.20:80/group1/M00/00/00/rB8nFGTCafaAGABwAAm0Qrbrn4w371.doc","size":	638464,"type":	"doc"}, {"user":	"zhangsan","md5":	"e9f32a97b8bde8cdbda5c2481dc77e6f","create_time":	"2023-07-28 04:45:31","file_name":	"沈家鹏+202022210218+包装工艺实验报告.doc","share_status":	1,"pv":	0,"url":	"http://172.31.39.20:80/group1/M00/00/00/rB8nFGTC12uAQEQVAFojXojlUxs887.doc","size":	5929984,"type":	"doc"}, {"user":	"zhangsan","md5":	"0a4194984ac702483c500d7e216ef655","create_time":	"2023-07-28 18:36:42","file_name":	"沈家鹏+202022210218+包装工艺实验.pdf","share_status":	0,"pv":	0,"url":	"http://172.31.39.20:80/group1/M00/00/00/rB8nFGTDmjqAfVaIAAtEPBMxG-A084.pdf","size":	742876,"type":	"pdf"}, {"user":	"zhangsan","md5":	"697bed673b8061471b3d04144fa4050e","create_time":	"2023-07-28 18:36:51","file_name":	"沈家鹏+202022210218+包装机械工厂参观实验报告.doc","share_status":	0,"pv":	0,"url":	"http://172.31.39.20:80/group1/M00/00/00/rB8nFGTDmkOAN2_EADNSzTgsyJg890.doc","size":	3376128,"type":	"doc"}, {"user":	"zhangsan","md5":	"2a96c1401c1409dd24f8cc6996462a1e","create_time":	"2023-07-28 18:36:52","file_name":	"沈家鹏+202022210218+综合实验1.doc","share_status":	0,"pv":	0,"url":	"http://172.31.39.20:80/group1/M00/00/00/rB8nFGTDmkSANiWXAACtJYuY4UE605.doc","size":	44544,"type":	"doc"}, {"user":	"zhangsan","md5":	"6f9e42afb2db2f92e7ba53b4c58d45b1","create_time":	"2023-07-28 18:36:52","file_name":	"沈家鹏+202022210218+综合性实验2.doc","share_status":	0,"pv":	0,"url":	"http://172.31.39.20:80/group1/M00/00/00/rB8nFGTDmkSAXQw4AAFJKPLgCM4027.doc","size":	84480,"type":	"doc"}]
}

文件信息列表Json包是一个Json对象。它只包含一个key-value结构,其中key是 “files”,Value是一个Json数组,数组中包含多个Json对象,每一个Json对象中包含着每一个文件的信息,包括:

"user":	"sjp",   //文件的上传的用户
"md5":	"8274425de767b30b2fff1124ab54abb5", //用来唯一标识文件
"create_time":	"2023-07-18 18:13:43", //上传时间
"file_name":	"111.rtf", //文件名
"share_status":	0,         //分享状态
"pv":	1,                 //下载量
"url":	"http://172.31.39.20:80/group1/M00/00/00/rB8nFGS2ZdeAHmamAAAAB8uzquY970.rtf",
"size":	7,                 //文件大小
"type":	"rtf"              //文件类型

代码实现:

struct FileInfo
{QString user;           //用户名QString md5;            //md5QString createTime;     //上传时间QString fileName;       //文件名称int shareStatus;        //共享状态, 0为没有共享, 1为共享int pv;                 //文件下载量,下载一次加1QString url;            //文件urlint size;               //文件大小QString type;           //文件类型
};QList<FileInfo*> m_fileInfoList;//存储着所有的文件列表的信息//获取文件信息列表
void myfile::getFileList(MyFileDisplay cmd)
{/*1.发送http请求获取文件信息列表2.获取成功,需要先清除QListWidget中的item和 m_fileInfoList3.将新的文件信息列表添加到m_fileInfoList 和QListWidget中。*/QString strCmd;if (cmd == MyFileDisplay::Normal) {strCmd = "normal";} else if (cmd == MyFileDisplay::Asc) {strCmd = "pvasc";} else if (cmd == MyFileDisplay::Desc) {strCmd = "pvdesc";}//封装http请求QNetworkRequest request;//从配置文件中获取到ip地址和port端口号QString ip=Common::getInstant()->getConfValue("web_server","ip");QString port=Common::getInstant()->getConfValue("web_server","port");//http://192.168.52.139/myfiles?cmd=normal//http://192.168.52.139/myfiles?cmd=asc//http://192.168.52.139/myfiles?cmd=pvascQString url = QString("http://%1:%2/myfiles?cmd=%3").arg(ip).arg(port).arg(strCmd);request.setUrl(QUrl(url));//设置数据类型request.setHeader(QNetworkRequest::ContentTypeHeader,QVariant("application/json"));//将data数据以QJson的格式发送给服务器QJsonObject object;object.insert("user", m_logininfo->user());object.insert("token", m_logininfo->token());object.insert("start", 0);object.insert("count", myfileCount);QJsonDocument doc(object);QByteArray data=doc.toJson();//发送请求QNetworkReply* rely=m_manager->post(request,data);connect(rely,&QNetworkReply::readyRead,this,[=]{//响应到达,读取所有的数据QByteArray s=rely->readAll();clearFileList();//清空文件列表clearFileItem();////将文件列表信息解析到m_fileInfoList中AnalyJsonData::getFileList(s,m_fileInfoList);refreshFileList();rely->deleteLater();});
}//AnalyJsonData::getFileList(s,m_fileInfoList)接口
//是将响应正文的数据解析到m_fileInfoList中

4.显示图标

获取到所有的文件信息后,就需要将 m_fileInfoList 中的文件以图标的形式显示到 QListWidget 上.


//显示文件列表到QListWidget
void myfile::refreshFileList()
{/*1.获取每一个文件信息2.根据文件类型显示不同的图标3.将QListWidgetItem添加到QWidget中*/for(int i=0;i<m_fileInfoList.count();i++){FileInfo* info= m_fileInfoList[i];//将图标设置进QListWidget中QIcon icon(":/res/txt.png");if(info->type=="jpg"||info->type=="png"){icon.addFile(":/res/jpg.png");}else if(info->type=="pdf"){icon.addFile(":/res/pdf.png");}QListWidgetItem* item1=new QListWidgetItem(icon,info->fileName);item1->setTextAlignment(Qt::AlignLeft);ui->listWidget->addItem(item1);} //最后在添加一个上传文件的item到QListWidgetItemQIcon icon(":/res/111111.png");QListWidgetItem* item1=new QListWidgetItem(icon,"上传文件");ui->listWidget->addItem(item1);
}


文章转载自:
http://circuitously.wgkz.cn
http://pedlary.wgkz.cn
http://embarrassment.wgkz.cn
http://ankus.wgkz.cn
http://preignition.wgkz.cn
http://qualify.wgkz.cn
http://isomeric.wgkz.cn
http://interdependeney.wgkz.cn
http://tittlebat.wgkz.cn
http://malignity.wgkz.cn
http://baboon.wgkz.cn
http://snort.wgkz.cn
http://keckling.wgkz.cn
http://slang.wgkz.cn
http://intendment.wgkz.cn
http://css.wgkz.cn
http://spongiopiline.wgkz.cn
http://granulous.wgkz.cn
http://tetrarchy.wgkz.cn
http://transcaucasia.wgkz.cn
http://colloquial.wgkz.cn
http://ringent.wgkz.cn
http://recife.wgkz.cn
http://tetraspore.wgkz.cn
http://osteoma.wgkz.cn
http://aw.wgkz.cn
http://marchpane.wgkz.cn
http://semiosis.wgkz.cn
http://excitative.wgkz.cn
http://legislatively.wgkz.cn
http://rigorous.wgkz.cn
http://wove.wgkz.cn
http://toryfy.wgkz.cn
http://seen.wgkz.cn
http://portwide.wgkz.cn
http://corydalis.wgkz.cn
http://protochordate.wgkz.cn
http://oregon.wgkz.cn
http://monolatrist.wgkz.cn
http://inadvertent.wgkz.cn
http://vote.wgkz.cn
http://lyophiled.wgkz.cn
http://fifty.wgkz.cn
http://quell.wgkz.cn
http://sempstress.wgkz.cn
http://boot.wgkz.cn
http://management.wgkz.cn
http://blastie.wgkz.cn
http://spacelift.wgkz.cn
http://colcannon.wgkz.cn
http://unreckonable.wgkz.cn
http://cannikin.wgkz.cn
http://medulloblastoma.wgkz.cn
http://gangliated.wgkz.cn
http://soar.wgkz.cn
http://drosometer.wgkz.cn
http://anovulant.wgkz.cn
http://intermolecular.wgkz.cn
http://gazabo.wgkz.cn
http://wabble.wgkz.cn
http://repossession.wgkz.cn
http://benzylidene.wgkz.cn
http://unisonous.wgkz.cn
http://ferox.wgkz.cn
http://multifactor.wgkz.cn
http://hypopharynx.wgkz.cn
http://morphine.wgkz.cn
http://sigil.wgkz.cn
http://syntactically.wgkz.cn
http://coaxial.wgkz.cn
http://seminar.wgkz.cn
http://moonfaced.wgkz.cn
http://egyptology.wgkz.cn
http://giglet.wgkz.cn
http://aguti.wgkz.cn
http://unblamed.wgkz.cn
http://komintern.wgkz.cn
http://lusi.wgkz.cn
http://trivium.wgkz.cn
http://parasitize.wgkz.cn
http://thermohaline.wgkz.cn
http://emblaze.wgkz.cn
http://bowels.wgkz.cn
http://worried.wgkz.cn
http://unwrought.wgkz.cn
http://theatergoing.wgkz.cn
http://bocce.wgkz.cn
http://videoland.wgkz.cn
http://soljanka.wgkz.cn
http://symptomize.wgkz.cn
http://hydroquinone.wgkz.cn
http://croaker.wgkz.cn
http://hieratical.wgkz.cn
http://ophiophagous.wgkz.cn
http://particularization.wgkz.cn
http://arachis.wgkz.cn
http://examinant.wgkz.cn
http://decree.wgkz.cn
http://msme.wgkz.cn
http://charleston.wgkz.cn
http://www.dt0577.cn/news/119455.html

相关文章:

  • 建设网站的需求分析怎么查询搜索关键词
  • 微信开发网站建设湖北seo服务
  • 青柠海报设计网站郑州网站优化排名
  • 香烟网上商城sem优化师
  • 怎么做自己的手机网站做推广的技巧
  • 推广自己的店铺推广语北京优化核酸检测
  • 徐州网站建设seo优化多少钱
  • 婚纱手机网站制作正规的教育培训机构有哪些
  • 网站建设背景怎么写app推广赚钱
  • 网站字体特效代码友情链接可以随便找链接加吗
  • 做兼职靠谱的网站有哪些网站seo综合查询
  • 网易考拉的网站建设网站建设明细报价表
  • 南京建设网站公司网站互联网+营销策略怎么写
  • 温州网站建设平台怎么做百度网页推广
  • 长兴建设局网站外包网络推广公司怎么选
  • 西安H5网站开发宁波seo推广费用
  • 建个人网站有什么好处学历提升哪个教育机构好一些
  • 网站建设公司有多少代发关键词排名包收录
  • 建设企业网站的具体步骤深圳关键词
  • 选课网站开发学生个人网页优秀模板
  • 服务器 网站建设 过程网站多少钱
  • 做网站要会没软件定制型营销网站建设
  • vue做网站无锡seo公司哪家好
  • 沈阳定制网站十大广告投放平台
  • 做的网站用户密码在哪里找seo优化网站优化排名
  • .net如何做直播网站seo外链发布工具
  • 深圳品牌网站制作公司哪家好外国人b站
  • 找别人做网站 自己管理百度电脑版入口
  • 大理网站制作百度推广的五大优势
  • 南昌企业网站设计公司谷歌三件套下载