QT重启程序

1.QAPP退出代码重启
定义退出代码
比较好的方式,在主窗口中定义一个静态变量:

static int const EXIT_CODE_REBOOT;

并进行初始化:

int const Widget::EXIT_CODE_REBOOT = -123456789;

或者可以定义一个全局变量或常量值。

重启操作
接下来定义一个槽函数,里面包含应用程序重启的代码:

void Widget::reboot()
{
    qApp->exit(Widget::EXIT_CODE_REBOOT);
}
创建一个操作,将使用上面的槽来重启程序。

QPushButton *pButton = new QPushButton(this);
pButton->setText(QStringLiteral("重启"));
connect(pButton, SIGNAL(clicked(bool)), this, SLOT(reboot()));
修改应用程序循环
最后一步,修改应用程序的main函数来处理新的循环,将允许程序重启:

int main(int argc, char *argv[])
{
    int nExitCode = 0;
 
    do {
     QApplication a(argc, argv);
 
     Widget w;
     w.show();
 
     nExitCode = a.exec();
    } while(nExitCode == Widget::EXIT_CODE_REBOO

上一篇:Qt 视频播放器


下一篇:个人Blog页面Live2D看板人物 很简单