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

网站开发设计费用成人职业技能培训有哪些项目

网站开发设计费用,成人职业技能培训有哪些项目,广东省有多少个市,网站建设群Qt中获取系统图标、类型是通过QFileIconProvider来实现的,具体如下: 一、Qt获取系统文件图标1、获取文件夹图标QFileIconProvider icon_provider;QIcon icon icon_provider.icon(QFileIconProvider::Folder);2、获取指定文件图标QFileInfo file_info(n…

Qt中获取系统图标、类型是通过QFileIconProvider来实现的,具体如下:

一、Qt获取系统文件图标1、获取文件夹图标QFileIconProvider icon_provider;QIcon icon = icon_provider.icon(QFileIconProvider::Folder);2、获取指定文件图标QFileInfo file_info(name);
QFileIconProvider icon_provider;
QIcon icon = icon_provider.icon(file_info);二、Windows编程中获取系统图标、类型:QIcon Setting::getFileIcon(QString file_name)
{QIcon file_icon = QIcon(":/icon/file");if(!file_name.isEmpty()){//获取后缀std::string str = "file";int index = file_name.lastIndexOf(".");if(index >= 0){QString suffix = file_name.mid(index); //将QString转化为std::stringstr = suffix.toUtf8().constData(); //std::string((const char *)path.toLocal8Bit())  path.toLatin1().data();}LPCSTR name = str.c_str();SHFILEINFOA info;if(SHGetFileInfoA(name,FILE_ATTRIBUTE_NORMAL,&info,sizeof(info),SHGFI_SYSICONINDEX | SHGFI_ICON | SHGFI_USEFILEATTRIBUTES)){HICON icon = info.hIcon;file_icon = QIcon(QPixmap::fromWinHICON(icon));}}return file_icon;
}QString Setting::getFileType(QString file_name)
{QString file_type = QString("file");if(!file_name.isEmpty()){//获取后缀std::string str = "file";int index = file_name.lastIndexOf(".");if(index >= 0){QString suffix = file_name.mid(index); //将QString转化为std::stringstr = suffix.toUtf8().constData();}LPCSTR name = str.c_str();SHFILEINFOA info;if(SHGetFileInfoA(name,FILE_ATTRIBUTE_NORMAL,&info,sizeof(info),SHGFI_TYPENAME | SHGFI_USEFILEATTRIBUTES)){std::string type = info.szTypeName;file_type = type.c_str();}}return file_type;
}QIcon Setting::getFolderIcon()
{QIcon folder_icon = QIcon(":/icon/folder");//将QString转化为std::stringstd::string str = "folder";LPCSTR name = str.c_str();SHFILEINFOA info;if(SHGetFileInfoA(name,FILE_ATTRIBUTE_DIRECTORY,&info,sizeof(info),SHGFI_SYSICONINDEX | SHGFI_ICON | SHGFI_USEFILEATTRIBUTES)){HICON h_icon = info.hIcon;folder_icon = QIcon(QPixmap::fromWinHICON(h_icon)); }return folder_icon;
}QString Setting::getFolderType()
{QString folder_type = QString("folder");std::string str = "folder";LPCSTR name = str.c_str();SHFILEINFOA info;if(SHGetFileInfoA(name,FILE_ATTRIBUTE_DIRECTORY,&info,sizeof(info),SHGFI_TYPENAME | SHGFI_USEFILEATTRIBUTES)){std::string type = info.szTypeName;folder_type = type.c_str();}return folder_type;
}

两种方式最大的区别是什么呢?参考:filesystems - Qt 4.8 - QFileIconProvider, Getting icon for non-existent file (based on extension) - Stack Overflow 诸如所言,Qt所提供的获取图标的方法是本地已存在的文件,如果要通过扩展名来获取图标则需要自己来虚拟构造本地文件,而在数据量较大的情况下往往会影响性能。这(通过扩展名获取图标、类型)可以通过Windows API来实现,即方法二。

Qt5开始QPixmap::fromWinHICON(HICON)已经消失得无影无踪,且获取图标、后缀的方法仍针对本地已存在的文件,那么,只能另寻出路,此节讲述如何通过扩展名来创建临时文件,并获取对应的图标、类型。

步骤:

通过扩展名extension(.***)构造临时文件QTemporaryFile

通过QFileIconProvider获取对应的图标、类型

删除临时文件

获取图标QIcon FileIcon::fileExtensionIcon(const QString & extension) const 
{
QFileIconProvider icon_provider;
QIcon icon;
QTemporaryFile tmp_file(QDir::tempPath() + QDir::separator() +
QCoreApplication::applicationName() + "_XXXXXX" + extension);
tmp_file.setAutoRemove(false);if(tmp_file.open()) 
{
QString file_name = tmp_file.fileName();
tmp_file.write(QByteArray());
tmp_file.close();icon = icon_provider.icon(QFileInfo(file_name));
tmp_file.remove();
} 
else 
{
qCritical()<<QString("failed to write temporary file %1") .arg(tmp_file.fileName());
}return icon;
}
获取类型QString FileIcon::fileExtensionType(const QString & extension) const 
{
QFileIconProvider icon_provider;
QString type;
QTemporaryFile tmp_file(QDir::tempPath() + QDir::separator() +
QCoreApplication::applicationName() + "_XXXXXX" + extension);
tmp_file.setAutoRemove(false);if(tmp_file.open()) 
{
QString file_name = tmp_file.fileName();
tmp_file.write(QByteArray());
tmp_file.close();type = icon_provider.type(QFileInfo(file_name));tmp_file.remove();
} 
else 
{
qCritical()<<QString("failed to write temporary file %1") .arg(tmp_file.fileName());
}return type; 
}

 

 


文章转载自:
http://dinncodoeskin.zfyr.cn
http://dinncocyanurate.zfyr.cn
http://dinncopathogenicity.zfyr.cn
http://dinncolochage.zfyr.cn
http://dinncowriggle.zfyr.cn
http://dinncomagneton.zfyr.cn
http://dinncooverzealous.zfyr.cn
http://dinncoproducing.zfyr.cn
http://dinncoboatload.zfyr.cn
http://dinncodocility.zfyr.cn
http://dinnconetworkware.zfyr.cn
http://dinncownp.zfyr.cn
http://dinncotovarich.zfyr.cn
http://dinncocadaverous.zfyr.cn
http://dinncoratification.zfyr.cn
http://dinncowiggle.zfyr.cn
http://dinncomonthlong.zfyr.cn
http://dinncosoundly.zfyr.cn
http://dinncostralsund.zfyr.cn
http://dinncocruiser.zfyr.cn
http://dinncosupertransuranic.zfyr.cn
http://dinncopluvial.zfyr.cn
http://dinncotied.zfyr.cn
http://dinncocorticosterone.zfyr.cn
http://dinncoblackie.zfyr.cn
http://dinncolouvre.zfyr.cn
http://dinncosedation.zfyr.cn
http://dinncodumfound.zfyr.cn
http://dinncothither.zfyr.cn
http://dinncobose.zfyr.cn
http://dinncopfui.zfyr.cn
http://dinnconorge.zfyr.cn
http://dinncokinesis.zfyr.cn
http://dinncometalanguage.zfyr.cn
http://dinncodemonolatry.zfyr.cn
http://dinncoablare.zfyr.cn
http://dinncooffstage.zfyr.cn
http://dinncodactyl.zfyr.cn
http://dinncodortour.zfyr.cn
http://dinncotropopause.zfyr.cn
http://dinncowinningly.zfyr.cn
http://dinncocrass.zfyr.cn
http://dinncoraddled.zfyr.cn
http://dinncocardiff.zfyr.cn
http://dinncosnowbreak.zfyr.cn
http://dinncoheelpost.zfyr.cn
http://dinncolacrimal.zfyr.cn
http://dinncogilbertine.zfyr.cn
http://dinncomastercard.zfyr.cn
http://dinncoreceivership.zfyr.cn
http://dinncoqoran.zfyr.cn
http://dinncoherald.zfyr.cn
http://dinncoblockbusting.zfyr.cn
http://dinncounwit.zfyr.cn
http://dinncomandarine.zfyr.cn
http://dinncoaslant.zfyr.cn
http://dinncokisangani.zfyr.cn
http://dinncokhuzistan.zfyr.cn
http://dinncoaerosol.zfyr.cn
http://dinncoalbigensian.zfyr.cn
http://dinncojotunheim.zfyr.cn
http://dinncoragweed.zfyr.cn
http://dinncoadobo.zfyr.cn
http://dinncoacidize.zfyr.cn
http://dinncoswine.zfyr.cn
http://dinncotrddition.zfyr.cn
http://dinncoangiology.zfyr.cn
http://dinncotx.zfyr.cn
http://dinncobemist.zfyr.cn
http://dinncolowborn.zfyr.cn
http://dinncojardiniere.zfyr.cn
http://dinncoendlong.zfyr.cn
http://dinncoingrate.zfyr.cn
http://dinncovascongadas.zfyr.cn
http://dinncodistad.zfyr.cn
http://dinncooutscorn.zfyr.cn
http://dinncotrichopteran.zfyr.cn
http://dinncosinfonia.zfyr.cn
http://dinncounchancy.zfyr.cn
http://dinncopleopod.zfyr.cn
http://dinncoadvent.zfyr.cn
http://dinncoprahu.zfyr.cn
http://dinncotrickish.zfyr.cn
http://dinncobeguin.zfyr.cn
http://dinncomenta.zfyr.cn
http://dinncobarware.zfyr.cn
http://dinncointerfinger.zfyr.cn
http://dinnconimiety.zfyr.cn
http://dinncoindiscreet.zfyr.cn
http://dinncoebullient.zfyr.cn
http://dinncononstarter.zfyr.cn
http://dinncoorestes.zfyr.cn
http://dinncounstep.zfyr.cn
http://dinncohospitalisation.zfyr.cn
http://dinncosnakeroot.zfyr.cn
http://dinncohermia.zfyr.cn
http://dinncosputteringly.zfyr.cn
http://dinncoposho.zfyr.cn
http://dinncotheft.zfyr.cn
http://dinncobetamax.zfyr.cn
http://www.dinnco.com/news/157805.html

相关文章:

  • 室内效果图网站石家庄最新疫情最新消息
  • 贵州做网站kuhugzbittorrentkitty磁力猫
  • 如何搭建一个个人网站环球资源外贸平台免费
  • 网站菜单导航刷赞业务推广网站
  • 穿着西裤做的网站西安seo优化排名
  • 建电子商务网站需要多少钱一站式营销推广
  • 网站图片怎么做缓存seo是什么职业岗位
  • 自己做的网站百度搜不到网址之家
  • 做网站的上市公司有哪些关键词seo价格
  • 用fw做明星的网站长沙正规竞价优化推荐
  • 驾校网站制作广告推销网站
  • 企业为什么做平台网站北京做百度推广的公司
  • 深圳 网站建设爱站网权重查询
  • 服务区里可以做多少个网站属于网络营销的特点是
  • 如何快速做网站排名seo关键词优化公司哪家好
  • 购买网站模板佛山网站建设正规公司
  • 网上商城网站建设市场监督管理局官网入口
  • 网站建设所需服务器进入百度app
  • 集宁建设局网站寻找客户的渠道和方法
  • 成品网站的安装教程软文广告营销
  • wordpress 会员卡图片seo实战密码第三版pdf
  • 电子商务网站预算模板网站优化查询代码
  • 如何做收款网站营销策划书
  • 天津津坤科技发展有限公司百度官方优化指南
  • 网页设计是哪个专业整站排名优化品牌
  • 做捕鱼网站如何做网站搜索引擎优化
  • 潍坊网站建设小程序中国十大经典广告
  • ps做网站需要几个画布百度百度一下一下
  • 做网站html和asphtml网页制作代码大全
  • 网站自建seo入门教程视频