Qt开源小项目--VCProject rc文件的版本号修改.md

  1. Qt开源小项目–VCProject rc文件的版本号修改

Qt开源小项目–VCProject rc文件的版本号修改

image

关注微信号:cpp手艺人,获取源码

image

在实际开发中,我们的项目中可能有很多个project,每个project的版本号要求一致的。每次出包的时候都要修改版本号,是很麻烦的事,所以我花了点时间,写了小tool,开源给大家。

先来看下效果:

贴下主要代码:

void monMainWindow::ShowVersion()
{
    while (tableWidget->rowCount() > 0) {
        tableWidget->removeRow(0);
    }

    mFilePathList.clear();

    ReverseFile(mSelectDir.absolutePath());    
}

void monMainWindow::DoOpenFileDialog()
{
    //定义文件对话框类  
    QFileDialog filedialog(this);
    //定义文件对话框标题  
    filedialog.setWindowTitle(tr("Open Files"));
    //设置默认文件路径  
    filedialog.setDirectory(".");
    //设置文件过滤器  
    filedialog.setFilter(QDir::AllDirs | QDir::NoDotAndDotDot);
    //设置可以选择多个文件,默认为只能选择一个文件QFileDialog::ExistingFiles  
    filedialog.setFileMode(QFileDialog::DirectoryOnly);
    //设置视图模式  
    filedialog.setViewMode(QFileDialog::Detail);
    //打印所有选择的文件的路径  
    QStringList filenames;
    if (filedialog.exec()) {
        filenames = filedialog.selectedFiles();
    }

    if (filenames.empty()) { return ; }

    mSelectDir = QDir(filenames[0]);
    lineedit_path->setText(filenames[0]);
}

void monMainWindow::DoShowVersion()
{
    ShowVersion();
    ReadRCFile();
}

void monMainWindow::DoSaveRC()
{
    SaveRCFile();
}

void monMainWindow::DoAbout()
{
    monAbout about(this);
    about.setModal(true);
    about.exec();
}

void monMainWindow::ReverseFile(const QString &pSearchPath)   
{
    QDir searchdir(pSearchPath);
    if (! searchdir.exists()) { return; }

    // 以.开头的文件或者是目录都是隐藏目录不需要遍历
    QString dirpath = searchdir.absolutePath();
    foreach (QString name, dirpath.split("/")) {
        if (name.left(1) == ".") {
            return;
        }
    }

    searchdir.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);

    QFileInfoList infolist = searchdir.entryInfoList();
    foreach (QFileInfo info, infolist) {
        if (info.isFile() && info.suffix() == RC_FILE) {
            mFilePathList.append(info.absoluteFilePath());
            tableWidget->insertRow(tableWidget->rowCount());
            QTableWidgetItem *item = new
QTableWidgetItem(info.absoluteFilePath());
            tableWidget->setItem(tableWidget->rowCount() - 1, 0, item);
        } else if (info.isDir()) {
            ReverseFile(info.absoluteFilePath());
        }
    }
}

github地址:https://github.com/MingYueRuYa/worktool


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 635672377@qq.com

文章标题:Qt开源小项目--VCProject rc文件的版本号修改.md

文章字数:390

本文作者:刘世雄

发布时间:2020-06-03, 17:36:37

最后更新:2020-06-03, 09:38:24

原始链接:http://lsxcpp.com/2020/06/04/Qt%E5%BC%80%E6%BA%90%E5%B0%8F%E9%A1%B9%E7%9B%AE-VCProject-rc%E6%96%87%E4%BB%B6%E7%9A%84%E7%89%88%E6%9C%AC%E5%8F%B7%E4%BF%AE%E6%94%B9-md/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录