无法关闭的QT程序

做一个无法关闭的QT程序(想关闭时要在任务管理器里关闭),看似很难,

其实它并不难,只要让程序在关闭时启动它自身就可以了。


上代码:

#include <QtGui>  

class Temp : public QWidget  
{    
	Q_OBJECT    
private:    
	QLabel *label;  
protected:  
	void closeEvent(QCloseEvent *event);  
public:    
	Temp(QWidget *parent = 0);    
	~Temp();    
};  

Temp::Temp(QWidget *parent)    
: QWidget(parent)    
{    
	label = new QLabel("You can't close me, haha.", this);  
	QVBoxLayout *layout = new QVBoxLayout;  
	layout->addWidget(label);  
	setLayout(layout);  
	move(200, 200);  
}    

Temp::~Temp()    
{    

}  

void Temp::closeEvent(QCloseEvent *event)  
{  
	//重载关系事件函数,使程序在关闭自己的同时重新打开自己
	QProcess *p = new QProcess(this);  
	QString str = QApplication::applicationFilePath();  
	p->startDetached(str);  
}  

#include "main.moc"

int main(int argc, char *argv[])  
{  
	QApplication app(argc, argv);  
	Temp *temp = new Temp;  
	temp->show();  
	return app.exec();  
}    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值