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>



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


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

posted @ 2015-01-31 19:06  blfshiye  阅读(280)  评论(0编辑  收藏  举报