• 4826阅读
  • 9回复

Qt编写去除png警告工具 [复制链接]

上一主题 下一主题
离线liudianwu
 

图酷模式  只看楼主 倒序阅读 楼主  发表于: 2016-09-17
— 本帖被 XChinux 执行加亮操作(2016-09-18) —
自从Qt4.8以后,如果项目资源文件中有png图片,当该png图片加载时,会出现png警告,如下图


很多时候我们不需要看到这些警告,怎么办呢?只需要用QImage另存为png图片即可。来自彩阳兄(http://qtdream.com/ )的点发。


源码下载 PngTool.zip (36 K) 下载次数:196
专业各种自定义控件编写+UI定制+输入法定制+视频监控+工业控制+仪器仪表+嵌入式linux+各种串口网络通信,童叟无欺,量大从优,欢迎咨询购买定制!你正好需要,我正好专业!QQ:517216493 微信:feiyangqingyun Email:feiyangqingyun@163.com
群号:853086607(Qt交流大会,雨田哥群,不定期上传作品,解答作品中相关问题!) 312125701(QtQML多多指教群) 46679801(Qt开发技术交流群-5000人大群)
离线nigoole

只看该作者 1楼 发表于: 2016-09-18
比较实用,但是麻烦~
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线yuyu414

只看该作者 2楼 发表于: 2016-09-18
这样做之后好像PhotoShop就打不开了
离线uidab

只看该作者 3楼 发表于: 2016-09-18
没遇到过这个警告,我基本上都是png图片。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线nigoole

只看该作者 4楼 发表于: 2016-10-11
目录可以搞一个递归,省的多个目录的图片还得一个一个的点!
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线greedysky

只看该作者 5楼 发表于: 2016-10-11
我用Jason的工具也不错。  https://github.com/188080501/JQTools
Where there is a will, there is a way.
离线return

只看该作者 6楼 发表于: 2016-11-21
我遇上了这样的问题    
离线jszxd

只看该作者 7楼 发表于: 2017-09-27
太好了,正需要这个。
离线fzw003

只看该作者 8楼 发表于: 12-03
加个递归吧。
int frmPngTool::FindFile(const QString& _filePath)
{
    QDir dir(_filePath);
    if (!dir.exists()) {
        return -1;
    }

  //取到所有的文件和文件名,但是去掉.和..的文件夹(这是QT默认有的)
    dir.setFilter(QDir::Dirs|QDir::Files|QDir::NoDotAndDotDot);

    //文件夹优先
    dir.setSorting(QDir::DirsFirst);

    //转化成一个list
    QFileInfoList list = dir.entryInfoList();
    QStringList filter;
    filter << "*.png";
    QStringList infolist = dir.entryList(filter);



    if(list.size()< 1 ) {
        return -1;
    }
    int i=0;

    //递归算法的核心部分
    do{
        QFileInfo fileInfo = list.at(i);
        //如果是文件夹,递归
        bool bisDir = fileInfo.isDir();
        if(bisDir) {
            FindFile(fileInfo.filePath());
        }
        else{
            for(int m = 0; m <infolist.size(); m++) {
                                //这里是获取当前要处理的文件名
//                qDebug() <<_filePath + "/" + infolist.at(m);
                files.append(_filePath + "/" + infolist.at(m));
            }
            break;
        }//end else
        i++;
    } while(i < list.size());
}
离线shasidaran

只看该作者 9楼 发表于: 12-09
之前都是用Photoshop批量修改的
快速回复
限100 字节
 
上一个 下一个