可以使用QSingleApplication类来防止程序启动两次。QSingleApplication是Qt中的一个类,它可以确保一个程序只能启动一个实例。
使用QSingleApplication的步骤如下:
QSingleApplication app("com.example.myapp");
if (app.isRunning()) {
// 程序已经在运行,退出或者将新的命令行参数传递给已经运行的实例
return 0;
}
// 创建主窗口
MainWindow w;
w.show();
// 进入Qt事件循环
return app.exec();
这样,当程序尝试启动第二个实例时,QSingleApplication会检测到已经存在一个实例在运行,并且阻止第二个实例的启动。