QDarkStyleSheet

QDarkStyleSheet

Qt应用程序的多平台暗色和亮色主题框架

QDarkStyleSheet是Qt应用程序的主题样式框架,提供暗色和亮色主题。支持多种Qt绑定,适用于Python和C++开发。特点包括优化调色板、统一部件样式和便捷主题切换。项目配有示例和文档,方便开发者快速集成使用。

Qt样式表主题框架暗色主题亮色主题Github开源项目

QDarkStyleSheet

|构建状态| |文档状态| |最新PyPI版本| |许可证:MIT| |许可证:CC BY 4.0| |行为准则|

这是最完整的Qt应用程序(Qt4*、Qt5、PySide*、PySide2、PySide6、PyQt4*、PyQt5、PyQt6、QtPy、PyQtGraph、Qt.Py)深色/浅色样式表,适用于Python 2*/3和C++。

查看完整文档。<https://qdarkstylesheet.readthedocs.io/en/latest/screenshots.html>__

有什么新内容?

版本3


在当前的版本3中,`qdarkstyle`现在作为一个主题框架工作,目前支持深色/浅色主题,保持样式化的小部件在不同主题颜色下保持一致。

调色板已经重新定义和改进(UI/UX),以接受更多颜色,并能够实现新主题,这要感谢`Spyder团队<https://github.com/spyder-ide/spyder>`__的合作。

当前的稳定版本使用Python 3(最好是3.6+)和Qt5(PyQt5和PySide 2)。此外,在这个版本中,还增加了Qt6(PyQt6、PySide6)的选项。

当前用于Qt6的版本可能仍存在不稳定性。

[*] Python 2以及Qt4(PyQt4和PySide)将不再被支持。它们仍然存在,但不会实现向后兼容、修复或新功能。

版本2

在v2.8中,我们转向使用QtPy来简化您的代码,因此这现在是一个必需的依赖项。我们在三个主要类别中包含了特殊补丁:操作系统、Qt/绑定版本、应用程序。

其中,包含/修复了大量小部件的样式。还包含了一个Qt应用程序示例(仅限Python),其中包含几乎所有类型的小部件和组合,作为新样式的作品集和检查清单。

我们在v2.7中添加了SCSS,因此可以通过编程方式访问调色板。此外,还添加了许多脚本,为想要更改我们调色板颜色的开发人员提供自由。所有图像和图标都经过修订,还为所有图像和图标创建了SVG文件。

在2.6版及以后的版本中,提供了一个重构的样式表。调色板只有9种颜色。大多数小部件都经过修订,它们的样式也得到了改进。我们还提供了一个命令行(脚本)来获取在提交问题时可能会用到的信息。请参见下面的图片。

版本1


QDarkStyle的第一个稳定版本。


安装
------------


Python
~~~~~~

从PyPI:使用*pip*获取最新的稳定版本的``qdarkstyle``包(推荐):

    .. code:: bash

        pip install qdarkstyle


从代码:下载/克隆项目,进入``qdarkstyle``文件夹,然后:

-  您可以使用*setup*脚本和pip安装。

    .. code:: bash

        pip install .


-  或者,您可以使用Python的*setup*脚本:

    .. code:: bash

        python setup.py install


C++
~~~

- 下载/克隆项目并将以下文件复制到您的应用程序目录(保持现有的目录层次结构)。
  将所有**THEME**词替换为当前可用的(深色/浅色)您需要使用的主题。

    -  **qdarkstyle/THEME/THEMEstyle.qss**
    -  **qdarkstyle/THEME/THEMEstyle.qrc**
    -  **qdarkstyle/THEME/rc/** (整个目录)


-  将**qdarkstyle/THEME/THEMEstyle.qrc**添加到您的**.pro文件**中,如下所示:

    .. code:: c++

        RESOURCES += qdarkstyle/THEME/THEMEstyle.qrc


-  加载样式表:

    .. code:: c++

        QFile f(":qdarkstyle/THEME/THEMEstyle.qss");

        if (!f.exists())   {
            printf("无法设置样式表,未找到文件\n");
        }
        else   {
            f.open(QFile::ReadOnly | QFile::Text);
            QTextStream ts(&f);
            qApp->setStyleSheet(ts.readAll());
        }


注意:文件名中的":"是必需的,用于将该文件定义为资源库。有关更多信息,请参阅`此处的讨论<https://github.com/ColinDuquesnoy/QDarkStyleSheet/pull/87>`__。


在应用程序中的使用
---------------------


如果您的项目已经使用QtPy或者您需要以编程方式设置它,那么会更加简单

.. code:: python

    import sys
    import qdarkstyle
    import os

    # 设置环境变量以使用特定的包装器
    # 可以设置为pyqt、pyqt5、pyside或pyside2(尚未实现)
    # 您不需要使用QtPy来设置此变量
    os.environ['QT_API'] = 'pyqt5'

    # 从QtPy导入而不是直接导入
    # 注意QtPy始终使用PyQt5 API
    from qtpy import QtWidgets
# 创建应用程序和主窗口
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()

# 设置样式表
# qdarkstyle 中的默认系统使用 qtpy 环境变量
app.setStyleSheet(qdarkstyle.load_stylesheet())

# 运行
window.show()
app.exec_()


如果直接使用 PyQt5,请参见完整示例

```python
import sys
import qdarkstyle
from PyQt5 import QtWidgets

# 创建应用程序和主窗口
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()

# 设置样式表
app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())
# 或使用新 API
app.setStyleSheet(qdarkstyle.load_stylesheet(qt_api='pyqt5'))

# 运行
window.show()
app.exec_()
```

以下是使用 PySide2 的示例

```python
import sys
import qdarkstyle
from PySide2 import QtWidgets

# 创建应用程序和主窗口
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()

# 设置样式表
app.setStyleSheet(qdarkstyle.load_stylesheet_pyside2())
# 或使用新 API
app.setStyleSheet(qdarkstyle.load_stylesheet(qt_api='pyside2'))

# 运行
window.show()
app.exec_()
```

如果使用 PyQtGraph,代码如下

```python
import sys
import qdarkstyle
import os

# 设置环境变量以使用特定的包装器
# 可以设置为 PyQt、PyQt5、PySide 或 PySide2(尚未实现)
os.environ['PYQTGRAPH_QT_LIB'] = 'PyQt5'

# 从 pyqtgraph 导入而不是直接导入
# 注意 PyQtGraph 始终使用 PyQt4 API
from pyqtgraph.Qt import QtGui

# 创建应用程序和主窗口
app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()

# 设置样式表
app.setStyleSheet(qdarkstyle.load_stylesheet(qt_api=os.environ['PYQTGRAPH_QT_LIB'])

# 运行
window.show()
app.exec_()
```

如果使用 Qt.py(与 qtpy 不同),您应该安装 qtpy,然后将两者设置为相同的绑定。


example/portfolio 的使用
--------------------------

包中包含一个示例。您只需要在系统上安装 PySide2 或 PyQt5。

```bash
# 深色主题示例
$ qdarkstyle.example --palette=dark

# 浅色主题示例
$ qdarkstyle.example --palette=light

# 不应用主题/样式表
$ qdarkstyle.example --palette=none

# 查看所有包含的选项
$ qdarkstyle.example --help
```

更新日志
---------

请参阅 `CHANGES <CHANGES.rst>`__ 文件。

许可证
-------

本项目基于 MIT 许可证。本项目中包含的图像基于 CC-BY 许可证。

更多信息请参阅 `LICENSE <LICENSE.rst>`__ 文件。

作者
-------

更多信息请参阅 `AUTHORS <AUTHORS.rst>`__ 文件。

贡献
------------

大多数小部件已经设置了样式。如果您发现某个小部件尚未设置样式,请在问题跟踪器上提出问题,或者更好的是,提交一个拉取请求。

如果您想贡献,请参阅 `CONTRIBUTING <CONTRIBUTING.rst>`__ 文件。

编辑推荐精选

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多