如何将 QPalette 设置回默认系统调色板?

How to set QPalette back to default system palette?

根据 this 示例,我最初以深色主题启动我的应用程序。

我想让用户能够切换回他们操作系统的当前默认系统颜色配置文件(因为我在没有设置 QPalette 的情况下启动该应用程序)。可以吗?

一种可能的方法是只使用默认设置和参数:

void MainWindow::on_pushButton_clicked()
{
    qApp->setPalette(this->style()->standardPalette());
    qApp->setStyle(QStyleFactory::create("WindowsVista"));
    qApp->setStyleSheet("");
}

但这种方式有一些限制:我们需要一些 QWidget 来设置调色板,在我的方式中我使用 this poiter 到 QMainWindow,但是它不是那么严重的问题我想想。