分享

qtwidges应用程序的深色样式表

 wenxuefeng360 2022-07-18 发布于四川

QDarkStylesheet

最完整的Qt应用程序的深色样式表(Qt4,Qt5,PySide,PySide2,PyQt4,PyQt5,QtPy,PyQtGraph,Qt.年).

Installation

Python

从PyPI:使用pip获取qdarkstyle包的最新稳定版本(首选):

pip install qdarkstyle

从代码:下载/克隆项目,转到qdarkstyle文件夹,然后:

  • 您可以使用安装脚本和pip安装。pip install .
  • 或者,您可以将安装脚本与Python一起使用:python setup.py install

C++

  • 下载/克隆项目并将以下文件复制到应用程序目录(保留现有的目录层次结构):qdarkstyle/style.qssqdarkstyle/style.qrcqdarkstyle/rc/(整个目录)
  • 将qdarkstyle/style.qrc添加到.pro文件中,如下所示:RESOURCES += qdarkstyle/style.qrc
  • 加载样式表:QFile f(":qdarkstyle/style.qss"); if (!f.exists()) { printf("Unable to set stylesheet, file not found\n"); } else { f.open(QFile::ReadOnly | QFile::Text); QTextStream ts(&f); qApp->setStyleSheet(ts.readAll()); }

注意:文件名中的“:”是将该文件定义为资源库所必需的。有关更多信息,请参阅此处的讨论。

Usage

如果您的项目已经使用QtPy,或者您需要以编程方式设置它,则要简单得多

import sys
import qdarkstyle
import os

# set the environment variable to use a specific wrapper
# it can be set to pyqt, pyqt5, pyside or pyside2 (not implemented yet)
# you do not need to use QtPy to set this variable
os.environ['QT_API'] = 'pyqt5'

# import from QtPy instead of doing it directly
# note that QtPy always uses PyQt5 API
from qtpy import QtWidgets

# create the application and the main window
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()

# setup stylesheet
# the default system in qdarkstyle uses qtpy environment variable
app.setStyleSheet(qdarkstyle.load_stylesheet())

# run
window.show()
app.exec_()

如果您直接使用PyQt5,请参阅完整的示例

import sys
import qdarkstyle
from PyQt5 import QtWidgets

# create the application and the main window
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()

# setup stylesheet
app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())
# or in new API
app.setStyleSheet(qdarkstyle.load_stylesheet(qt_api='pyqt5'))

# run
window.show()
app.exec_()

下面是一个使用PySide2的示例

import sys
import qdarkstyle
from PyQt5 import QtWidgets

# create the application and the main window
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()

# setup stylesheet
app.setStyleSheet(qdarkstyle.load_stylesheet_pyside2())
# or in new API
app.setStyleSheet(qdarkstyle.load_stylesheet(qt_api='pyside2'))

# run
window.show()
app.exec_()

如果使用PyQtGraph,则代码为

import sys
import qdarkstyle
import os

# set the environment variable to use a specific wrapper
# it can be set to PyQt, PyQt5, PySide or PySide2 (not implemented yet)
os.environ['PYQTGRAPH_QT_LIB'] = 'PyQt5'

# import from pyqtgraph instead of doing it directly
# note that PyQtGraph always uses PyQt4 API
from pyqtgraph.Qt import QtGui

# create the application and the main window
app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()

# setup stylesheet
app.setStyleSheet(qdarkstyle.load_stylesheet(qt_api=os.environ['PYQTGRAPH_QT_LIB'])

# run
window.show()
app.exec_()

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

在*example文件夹中有一个示例。您可以在不安装qdarkstyle的情况下运行脚本。您只需要在system.上安装PySide或PySide2、PyQt4或PyQt5*

有什么新鲜事吗?

在2.6版及更高版本中,提供了一个reestructure样式表。调色板只有9种颜色。大多数widget都进行了修改,并且改进了它们的样式。我们还提供了一个命令行(脚本)来获取在打开问题时可以使用的信息。请参见下图。

从2.7开始,我们添加了scs,因此可以通过编程访问调色板。此外,还添加了许多脚本,以便开发人员能够自由地更改调色板的颜色。所有的图像和图标都被修改了,同时也为它们创建了SVG文件。

从2.8开始,我们迁移到QtPy来简化代码,因此现在这是一个必需的依赖项。

Screenshots

下面是几个比较QDarkStyle和default样式的快照。单击要缩放的图像。

容器(无标签)和按钮

容器(标签)和显示器

https://github.com/ColinDuquesnoy/QDarkStyleSheet/blob/master/images/dark_containers_tabs_displays.png

https://github.com/ColinDuquesnoy/QDarkStyleSheet/blob/master/images/no_dark_containers_tabs_displays.png

小部件和输入(字段)

https://github.com/ColinDuquesnoy/QDarkStyleSheet/blob/master/images/dark_widgets_inputs_fields.png

https://github.com/ColinDuquesnoy/QDarkStyleSheet/blob/master/images/no_dark_widgets_inputs_fields.png

视图和输入(无字段)

https://github.com/ColinDuquesnoy/QDarkStyleSheet/blob/master/images/dark_views_inputs_no_fields.png

https://github.com/ColinDuquesnoy/QDarkStyleSheet/blob/master/images/no_dark_views_inputs_no_fields.png

Changelog

请参阅更改文件。

License

这个项目是由麻省理工学院授权的。此项目中包含的图像是根据CC-BY许可证授权的。

有关详细信息,请参阅许可证文件。

Authors

有关详细信息,请参阅作者文件。

Contributing

大多数小部件都已设计好样式。如果您发现一个没有风格的小部件,只需在问题跟踪器上打开一个问题,或者最好提交一个请求。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多