Qt程序设计——实现以项目管理文件的功能:创建和打开项目

本文介绍了如何使用Qt实现项目管理功能,包括新建项目时创建.pro文件以方便读取项目文件,以及设计新建项目对话框,允许用户输入项目名、保存路径和源文件夹。程序通过QString和QDir类操作目录和文件,实现项目创建和打开功能。
摘要由CSDN通过智能技术生成

1.引言

软件中很多是以项目的形式进行管理的,比如时常使用的Visual Studio等。下面使用Qt实现该功能。主要由新建项目和打开已存在项目

新建项目时建立一个.pro文件,pro文件内的内容如下所示:


之所以这样,是为了方便读取项目中的一些文件。

2.新建项目

新建项目时弹出一个对话框,输入项目名和项目要保存的路径,此外,还需输入一个文件夹的目录,因为要将此文件夹拷贝到项目目录路径下。

新建项目的对话框如下:


程序如下:

主要就是获取输入的项目名称以及目录

//newproject.h
#ifndef NEWPROJECT_H
#define NEWPROJECT_H

#include <QDialog>
#include <QString>

namespace Ui {
class NewProject;
}

class NewProject : public QDialog
{
    Q_OBJECT
    
public:
    explicit NewProject(QWidget *parent = 0);
    ~NewProject();

    //获得新建项目名
    QString get_new_project_name(){return new_project_name_;}
    //获得新建项目的目录
    QString get_new_project_dir(){return new_project_dir_;}
    //获得可执行文件所在文件夹路径
    QString get_excute_file_dir(){return excute_file_dir_;}
    
private:
    Ui::NewProject *ui;

    QString new_project_name_;//新建项目名
    QString new_project_dir_;//新建项目文件夹路径
    QString excute_file_dir_;//可执行文件所在文件夹路径

private slots:
    void choose_project_dir();//选择项目目录按钮
    void choose_excute_dir();//选择可执行文件所在文件夹目录
    void ok_new_project();//确定按钮
    void cancel_new_project_();//取消按钮
};

#endif // NEWPROJECT_H


//newproject.cpp
#include "newproject.h"
#include "ui_newproject.h"
#include <QFileDialog>
#include <QMessageBox>

//构造函数
NewProject::NewProject(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::NewProject)
{
    ui->setupUi(this);

    //选择新建项目目录按钮信号槽
    connect(ui->chooseProjectDir,SIGNAL(clicked()),this,SLOT(choose_project_dir()));
    //选择可执行文件所在文件夹目录按钮信号槽
    connect(ui->chooseExcuteDir,SIGNAL(clicked()),this,SLOT(choose_excute_dir()));
    //确定按钮信号槽
    connect(ui->okNewProject,SIGNAL(clicked()),this,SLOT(ok_new_project()));
    //取消按钮信号槽
    connect(ui->cancelNewProject,SIGNAL(clicked()),this,SLOT(cancel_new_project_()));
    //连接接受槽
    connect(ui->okNewProject,SIGNAL(clicked()),this,SLOT(accept()));
    //连接拒绝槽
    connect(ui->cancelNewProject,SIGNAL(clicked()),this,SLOT(reject()));
}

//析构函数
NewProject::~NewProject()
{
    delete ui;
}

/**
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值