Qt编写文件一键命名软件
之所以会写这篇博文,主要是由于近期从网上下载了一堆图片,但图片名称非常没有规律,处理起来非常不方便,由此想到是不是有一键命名的软件能够帮助我对全部图片命名,是图片名称有规律,这样在处理时方便操作。
有了这个想法之后,就在网上找,找了半天发现没有类似的软件(至少我没发现)。并且因为个人认为假设自己写的话应该不会太麻烦,毕竟仅仅是改动文件的名称,而不正确文件内容作不论什么操作。所以就决定自己写一个,这样既锻炼了编程能力,并且以后还能够用,何乐而不为。
详细操作过程例如以下:
第一步:使用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编写文件一键命名软件的更多相关文章
- 有什么很好的软件是用 Qt 编写的?
作者:尘中远链接:http://www.zhihu.com/question/19630324/answer/19365369来源:知乎 一些出名的例子如下:(wiki搬运) 3DSlicer, a ...
- 有什么很好的软件是用 Qt 编写的?(尘中远)
作者:尘中远链接:http://www.zhihu.com/question/19630324/answer/19365369来源:知乎 http://www.cnblogs.com/grandyan ...
- Qt编写安防视频监控系统(界面很漂亮)
一.前言 视频监控系统在整个安防领域,已经做到了烂大街的程序,全国起码几百家公司做过类似的系统,当然这一方面的需求量也是非常旺盛的,各种定制化的需求越来越多,尤其是这几年借着人脸识别的东风,发展更加迅 ...
- 使用Qt编写模块化插件式应用程序
动态链接库技术使软件工程师们兽血沸腾,它使得应用系统(程序)可以以二进制模块的形式灵活地组建起来.比起源码级别的模块化,二进制级别的模块划分使得各模块更加独立,各模块可以分别编译和链接,模块的升级不会 ...
- Qt编写自定义控件10-云台仪表盘
前言 做过安防视频监控的同学都清楚,在视频监控系统软件上都可以看到一个云台控制区域,可以对球机进行下下左右等八个方位的运动控制,还可以进行复位,一般都是美工作图好,然后贴图的形式加入到软件中,好处是程 ...
- Qt编写的开源帖子集合(懒人专用)
回顾自己学习Qt以来九年了,在这九年多时间里面,从本论坛学习不到不少的东西,今天特意整了一下自己开源过的资源的帖子,整理一起方便大家直接跳转下载,不统计不知道,一统计吓一跳,不知不觉开源了这么多代码, ...
- Qt编写控件属性设计器
一.前言 自从研究Qt编写自定义控件以来,一发不可收拾,越多越多人有类似的需求找我定制控件,陆陆续续写了上百个控件,目前已超过150个,于是逐渐衍生了另外一个需求,提供一个控件属性设计器,类似QtDe ...
- Qt编写项目作品大全(自定义控件+输入法+大屏电子看板+视频监控+楼宇对讲+气体安全等)
一.自定义控件大全 (一).控件介绍 超过160个精美控件,涵盖了各种仪表盘.进度条.进度球.指南针.曲线图.标尺.温度计.导航条.导航栏,flatui.高亮按钮.滑动选择器.农历等.远超qwt集成的 ...
- Qt编写数据可视化大屏界面电子看板系统
一.前言 目前大屏大数据可视化UI这块非常火,趁热也用Qt来实现一个,Qt这个一站式超大型GUI超市,没有什么他做不了的,大屏电子看板当然也不在话下,有了QSS和QPainter这两个无敌的工具组合, ...
随机推荐
- R与数据分析旧笔记(一)基本数学函数的使用
创建向量矩阵 > x1=c(2,3,6,8) > x2=c(1,2,3,4) > a1=(1:100) > length(a1) [1] 100 > length(x1) ...
- js 调用 android 安卓 代码
说明一下注意版本问题,不加没效果的 @JavascriptInterface //sdk17版本以上加上注解 //Html调用此方法传递数据 public void show() { Toast.ma ...
- codeforces 633C. Spy Syndrome 2 hash
题目链接 C. Spy Syndrome 2 time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- hdu 3397 Sequence operation 线段树
题目链接 给出n个数, 每个数是0或1, 给5种操作, 区间变为1, 区间变为0, 区间0,1翻转, 询问区间内1的个数, 询问区间内最长连续1的个数. 需要将数组开成二维的, 然后区间0, 1翻转只 ...
- Latex beamer
使用明体(gbsn)和楷体(gkai)两种字型.以下的编程是一开始的宣告,并自动生成第一张封面投影片. \documentclass[cjk]{beamer}\usepackage{CJKutf8}\ ...
- 记录.net 中的常见术语
--Entity Framework和NHibernate --EF和NH都是一种ORM技术.就是对象关系模型映射. --NHibernate和Entity Framework 4.0优劣势争论 -- ...
- Linux 中执行命令
第一步: 在txt文件(文件名为cmd_file)中写入代码:echo this is content! 第二步: 授权chmod 555 cmd_file 第三步: 运行 ./cmd_file -- ...
- 当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 ...
- Android利用Fiddler进行网络数据抓包,手机抓包工具汇总
Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...
- XMLHttpRequest对象的使用
1.首先要创建XMLHttpRequest对象,这个对象是前台与后台进行异步的重要对象,现在的浏览器有很多种,创建 XMLHttpRequest 的方法也不相同,所以为了兼容各种浏览器,在创建XMLH ...