用QT做无界面的后台程序
用QT做无界面的后台程序
起源
QT是专用于做界面类的工具,为什么我要用它来做个后台程序呢,因为今天接到个任务,要求我做个小软件,后台运行,时间很紧,但我从来没写过服务,于是灵机一动…
方法一
void ModelReboot::closeEvent(QCloseEvent *e)
{
this->hide();
e->ignore();
}
重写close事件,这时当你点击关闭时,他并没有真正的关闭,只是界面隐藏了起来,程序并未关闭。
我做的程序运行之后是不想要显示任何界面的,如何做呢?
我最开始是在构造函数后调用close,但这并不管用,因为这里调用隐藏了界面,但是在main函数中会重新被show出来,所以有了下面的方法。
方法二
int main(int argc, char *argv[])
{
qInstallMessageHandler(outputMessage);
QApplication a(argc, argv);
ModelReboot w;
//w.show();
return a.exec();
}
以上是我的main函数,可能大家看出来了,这种方法就是不将界面show出来,自然就没有界面显示了。
最后
这是我个人的一些小办法,初入QT,如果有啥问题,请大佬指点!