之所以会写这篇博文,主要是由于近期从网上下载了一堆图片,但图片名称非常没有规律,处理起来非常不方便,由此想到是不是有一键命名的软件能够帮助我对全部图片命名,是图片名称有规律,这样在处理时方便操作。

有了这个想法之后,就在网上找,找了半天发现没有类似的软件(至少我没发现)。并且因为个人认为假设自己写的话应该不会太麻烦,毕竟仅仅是改动文件的名称,而不正确文件内容作不论什么操作。所以就决定自己写一个,这样既锻炼了编程能力,并且以后还能够用,何乐而不为。

详细操作过程例如以下:

第一步:使用Qt Creator创建主窗体,能够带有图形界面,也可不带,由于界面比較简单。

第二步:在主窗体中加入须要用到的子部件,主要有:button、标签、进度条等,摆放好位置。操作结果例如以下图:

第三步:对各个部件进行命名,假设不熟悉能够到网上百度qt designer的使用方法,有非常多资料。

第四部:使用qss对部件进行美化,能够使用.qss文件,也能够分别对每一个部件设置样式表;假设使用.qss文件,建议将文件以资源文件形式使用,不熟悉资源文件的请參考                         《C++ GUI Qt 4编程》这本书或者到网上找资料。

第五步:对各个部件的功能进行编程。主要採用槽函数的形式。

首先在“选择文件”button上单击鼠标右键,选择“转到槽...”->"clicked()"...点击确定,即进入槽函数。槽函数内部例如以下:

<span style="font-size:14px;">       filelist = QFileDialog::getOpenFileNames(this,tr("Open Image"), ".",
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)");</span>

当中:filelist为QStringList类型的对象。该函数返回选择的文件的列表,结果存储在filelist中。

然后,使用同样的方法进入“一键命名”的槽函数中。函数内部例如以下:

<span style="font-size:14px;">    QString temp;
QStringList test = filelist.at(0).split(".");
//获取文件的类型
QString format(tr(".%1").arg(test.at( test.size()-1) )); ui->progressBar->setMaximum(filelist.size()); for(int i=0;i<filelist.size();++i)
{
temp = tr("%1").arg(i+1);
QFile filename(filelist.at(i));
ui->current->setText(filename.fileName());
filename.rename(temp.append(format));
ui->progressBar->setValue(i+1);
ui->progressBar->setToolTip(tr("当前进度%1").arg(i+1));
}</span>

函数内部首先获取文件的类型,并将类型存在format中。是哦那个filelist.size()函数获取文件的个数。

<span style="font-size:14px;">    QFile filename(filelist.at(i));定义一个文件,</span><pre name="code" class="cpp"><span style="font-size:14px;">    filename.rename(temp.append(format));重命名当前文件</span>
<span style="font-size:14px;">    <span style="font-family: Arial, Helvetica, sans-serif;">ui->progressBar->setValue(i+1);更新进度条的值</span></span>


主要操作就是这样,採取此种方法命名默认情况下是将原文件剪切到应用程序所在文件,同一时候改变文件的名称。

完整资源下载地址:下载地址

Qt编写文件一键命名软件的更多相关文章

  1. 有什么很好的软件是用 Qt 编写的?

    作者:尘中远链接:http://www.zhihu.com/question/19630324/answer/19365369来源:知乎 一些出名的例子如下:(wiki搬运) 3DSlicer, a ...

  2. 有什么很好的软件是用 Qt 编写的?(尘中远)

    作者:尘中远链接:http://www.zhihu.com/question/19630324/answer/19365369来源:知乎 http://www.cnblogs.com/grandyan ...

  3. Qt编写安防视频监控系统(界面很漂亮)

    一.前言 视频监控系统在整个安防领域,已经做到了烂大街的程序,全国起码几百家公司做过类似的系统,当然这一方面的需求量也是非常旺盛的,各种定制化的需求越来越多,尤其是这几年借着人脸识别的东风,发展更加迅 ...

  4. 使用Qt编写模块化插件式应用程序

    动态链接库技术使软件工程师们兽血沸腾,它使得应用系统(程序)可以以二进制模块的形式灵活地组建起来.比起源码级别的模块化,二进制级别的模块划分使得各模块更加独立,各模块可以分别编译和链接,模块的升级不会 ...

  5. Qt编写自定义控件10-云台仪表盘

    前言 做过安防视频监控的同学都清楚,在视频监控系统软件上都可以看到一个云台控制区域,可以对球机进行下下左右等八个方位的运动控制,还可以进行复位,一般都是美工作图好,然后贴图的形式加入到软件中,好处是程 ...

  6. Qt编写的开源帖子集合(懒人专用)

    回顾自己学习Qt以来九年了,在这九年多时间里面,从本论坛学习不到不少的东西,今天特意整了一下自己开源过的资源的帖子,整理一起方便大家直接跳转下载,不统计不知道,一统计吓一跳,不知不觉开源了这么多代码, ...

  7. Qt编写控件属性设计器

    一.前言 自从研究Qt编写自定义控件以来,一发不可收拾,越多越多人有类似的需求找我定制控件,陆陆续续写了上百个控件,目前已超过150个,于是逐渐衍生了另外一个需求,提供一个控件属性设计器,类似QtDe ...

  8. Qt编写项目作品大全(自定义控件+输入法+大屏电子看板+视频监控+楼宇对讲+气体安全等)

    一.自定义控件大全 (一).控件介绍 超过160个精美控件,涵盖了各种仪表盘.进度条.进度球.指南针.曲线图.标尺.温度计.导航条.导航栏,flatui.高亮按钮.滑动选择器.农历等.远超qwt集成的 ...

  9. Qt编写数据可视化大屏界面电子看板系统

    一.前言 目前大屏大数据可视化UI这块非常火,趁热也用Qt来实现一个,Qt这个一站式超大型GUI超市,没有什么他做不了的,大屏电子看板当然也不在话下,有了QSS和QPainter这两个无敌的工具组合, ...

随机推荐

  1. R与数据分析旧笔记(一)基本数学函数的使用

    创建向量矩阵 > x1=c(2,3,6,8) > x2=c(1,2,3,4) > a1=(1:100) > length(a1) [1] 100 > length(x1) ...

  2. js 调用 android 安卓 代码

    说明一下注意版本问题,不加没效果的 @JavascriptInterface //sdk17版本以上加上注解 //Html调用此方法传递数据 public void show() { Toast.ma ...

  3. codeforces 633C. Spy Syndrome 2 hash

    题目链接 C. Spy Syndrome 2 time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  4. hdu 3397 Sequence operation 线段树

    题目链接 给出n个数, 每个数是0或1, 给5种操作, 区间变为1, 区间变为0, 区间0,1翻转, 询问区间内1的个数, 询问区间内最长连续1的个数. 需要将数组开成二维的, 然后区间0, 1翻转只 ...

  5. Latex beamer

    使用明体(gbsn)和楷体(gkai)两种字型.以下的编程是一开始的宣告,并自动生成第一张封面投影片. \documentclass[cjk]{beamer}\usepackage{CJKutf8}\ ...

  6. 记录.net 中的常见术语

    --Entity Framework和NHibernate --EF和NH都是一种ORM技术.就是对象关系模型映射. --NHibernate和Entity Framework 4.0优劣势争论 -- ...

  7. Linux 中执行命令

    第一步: 在txt文件(文件名为cmd_file)中写入代码:echo this is content! 第二步: 授权chmod 555 cmd_file 第三步: 运行 ./cmd_file -- ...

  8. 当cpu飙升时,找出php中可能有问题的代码行

    参考大牛: http://www.searchtb.com/2014/04/%E5%BD%93cpu%E9%A3%99%E5%8D%87%E6%97%B6%EF%BC%8C%E6%89%BE%E5%8 ...

  9. Android利用Fiddler进行网络数据抓包,手机抓包工具汇总

    Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...

  10. XMLHttpRequest对象的使用

    1.首先要创建XMLHttpRequest对象,这个对象是前台与后台进行异步的重要对象,现在的浏览器有很多种,创建 XMLHttpRequest 的方法也不相同,所以为了兼容各种浏览器,在创建XMLH ...