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()));