最近用QtService实现了注册服务,后台运行的功能。
但是程序不能用timerEvent。只能用线程。但是用线程Qt的很多功能存在诸多限制,不能跨平台应用。
解决方法很简单。原先的main启动程序是
int main(int argc, char *argv[]) { WindowService service(argc, argv); return service.exec(); }
修改为:
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv); //增加
WindowService service(argc, argv);
return service.exec();
}
这样注册服务也不影响,类里面的timerEvent也能用了