Qt编写文件一键命名软件

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


       有了这个想法之后,就在网上找,找了半天发现没有类似的软件(至少我没发现)。而且由于个人觉得如果自己写的话应该不会太麻烦,毕竟只是修改文件的名称,而不对文件内容作任何操作。所以就决定自己写一个,这样既锻炼了编程能力,而且以后还可以用,何乐而不为。


具体操作步骤如下:

第一步:使用Qt Creator创建主窗口,可以带有图形界面,也可不带,因为界面比较简单。

第二步:在主窗口中添加需要用到的子部件,主要有:按钮、标签、进度条等,摆放好位置。操作结果如下图:

                

第三步:对各个部件进行命名,如果不熟悉可以到网上百度qt designer的用法,有很多资料。

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

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

               首先在“选择文件”按钮上单击鼠标右键,选择“转到槽...”->"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>

 

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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值