如何将 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
,但是它不是那么严重的问题我想想。
根据 this 示例,我最初以深色主题启动我的应用程序。
我想让用户能够切换回他们操作系统的当前默认系统颜色配置文件(因为我在没有设置 QPalette 的情况下启动该应用程序)。可以吗?
一种可能的方法是只使用默认设置和参数:
void MainWindow::on_pushButton_clicked()
{
qApp->setPalette(this->style()->standardPalette());
qApp->setStyle(QStyleFactory::create("WindowsVista"));
qApp->setStyleSheet("");
}
但这种方式有一些限制:我们需要一些 QWidget
来设置调色板,在我的方式中我使用 this
poiter 到 QMainWindow
,但是它不是那么严重的问题我想想。