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样式的快照。单击要缩放的图像。
容器(无标签)和按钮
容器(标签)和显示器
小部件和输入(字段)
视图和输入(无字段)
Changelog
请参阅更改文件。
License
这个项目是由麻省理工学院授权的。此项目中包含的图像是根据CC-BY许可证授权的。
有关详细信息,请参阅许可证文件。
Authors
有关详细信息,请参阅作者文件。
Contributing
大多数小部件都已设计好样式。如果您发现一个没有风格的小部件,只需在问题跟踪器上打开一个问题,或者最好提交一个请求。
|