【问题标题】:Dark theme does not apply to the title bar深色主题不适用于标题栏
【发布时间】:2021-01-23 17:54:10
【问题描述】:

我在我的应用程序中应用了深色样式,在此之前一直很好,我的问题是为什么该样式没有应用于我的应用程序的标题栏,以及在我的应用程序中打开的其余表单,你可以看,它保持白色,看起来很糟糕,任何建议都将不胜感激。

#include "mainwindow.h"

#include <QApplication>
#include <QFile>
#include <QTextStream>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QFile f(":/qdarkstyle/style.qss");
    f.open(QIODevice::ReadOnly|QIODevice::Text);
    QTextStream ts(&f);
    a.setStyleSheet(ts.readAll());

    MainWindow w;
    w.show();
    return a.exec();
}

我从这里得到了主题。 https://github.com/ColinDuquesnoy/QDarkStyleSheet

【问题讨论】:

  • 我认为除非您自己绘制标题栏,否则您将始终拥有系统颜色,尽管这可能会有所帮助:stackoverflow.com/questions/57124243/…
  • Windows API 使得对窗口的某些部分进行主题化变得非常困难,我认为滚动条更糟糕。也许 Qt 开发人员认为这不值得麻烦?
  • 好的,我明白了,谢谢。

标签: c++ qt


【解决方案1】:

[适用于 Qt 6.2.2,不确定 Qt5]

在您的可执行文件所在的文件夹中可能有一个configuration file qt.conf。如果不存在,则创建。并添加行

[Platforms]
WindowsArguments = darkmode=1

如果您还想动态更改标题栏颜色,请使用 darkmode=2

【讨论】:

    猜你喜欢
    • 2016-09-01
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多