vs2015 + Qt插件 新建一个对话框类,并从主窗口打开对话框

由于vs2015 + Qt插件不能直接建立一个包括 .ui,.cpp ,.h 的对话框模板,只能单独建立一个对话框类型的ui,所以需要手动添加 .cpp 和 .h。
1.添加一个Qt对话框的ui,起名叫Test.ui
2.添加Test.h和Test.cpp
Test.h

#pragma once

#include <Qdialog>
#include "ui_Test.h"
namespace Ui {
	class Test;
}

class Test : public QDialog
{
	Q_OBJECT

public:
	explicit Test(QWidget *parent = Q_NULLPTR);
	~Test();

private:
	Ui::Test * ui;
};

Test.cpp
setAttribute(Qt::WA_DeleteOnClose);这句用来关闭对话框时释放内存,否则每打开一次对话框内存都会增加,在主程序存续期间不会自己释放。

#include "Test.h"

Test::Test(QWidget *parent)
	: QDialog(parent),
	ui(new Ui::Test)
{
	setAttribute(Qt::WA_DeleteOnClose);
	ui->setupUi(this);
}

Test::~Test()
{
	delete ui;
}

这样就把对话框模板建立好了。然后通过主点击界面按钮打开对话框。
主界面头文件添加头文件

#include "Test.h"

在类里添加

private:
	Ui::QtGuiApplication3Class ui;
	Test * dialog;

定义了一个Test类型的对话框,名字叫dialog。
添加槽函数,接点击按钮的信号

void on_pushButton_doit_clicked(bool checkd);

在主界面cpp里添加

}void QtGuiApplication3::on_pushButton_doit_clicked(bool checked)
{
	dialog = new Test(this);
	dialog->setModal(true);
	dialog->show();
}

dialog->setModal(true):设置模态窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值