【发布时间】:2015-10-29 04:23:50
【问题描述】:
根据this 示例,我最初以深色主题启动我的应用程序。
我想让用户能够切换回他们操作系统的当前默认系统颜色配置文件(因为我在没有设置 QPalette 的情况下启动该应用程序)。这可能吗?
【问题讨论】:
-
您可以在更改之前保存当前调色板。
标签: qt qt5 color-scheme qstyle qpalette
根据this 示例,我最初以深色主题启动我的应用程序。
我想让用户能够切换回他们操作系统的当前默认系统颜色配置文件(因为我在没有设置 QPalette 的情况下启动该应用程序)。这可能吗?
【问题讨论】:
标签: qt qt5 color-scheme qstyle qpalette
一种可能的方法是使用默认设置和参数:
void MainWindow::on_pushButton_clicked()
{
qApp->setPalette(this->style()->standardPalette());
qApp->setStyle(QStyleFactory::create("WindowsVista"));
qApp->setStyleSheet("");
}
但是这种方式有一些限制:我们需要一些QWidget 来设置调色板,在我的方式中我使用this 指向QMainWindow,但我认为这不是那么严重的问题。
【讨论】:
qApp->setStyle(qApp->style()->standardPalette());,在我看来,最直观的一个