2013-03-10 10:32:24 -04:00
|
|
|
QDarkStylesheet
|
|
|
|
==================
|
|
|
|
|
2014-01-02 10:20:29 -05:00
|
|
|
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/ColinDuquesnoy/qdarkstylesheet/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
|
2014-01-02 10:30:44 -05:00
|
|
|
[![Build Status](https://travis-ci.org/ColinDuquesnoy/QDarkStyleSheet.png?branch=master)](https://travis-ci.org/ColinDuquesnoy/QDarkStyleSheet)
|
2014-01-02 10:34:33 -05:00
|
|
|
[![Number of PyPI downloads](https://pypip.in/d/QDarkStyle/badge.png)](https://pypi.python.org/pypi/QDarkStyle)
|
|
|
|
[![Latest PyPI version](https://pypip.in/v/QDarkStyle/badge.png)](https://pypi.python.org/pypi/QDarkStyle)
|
2014-01-02 10:20:29 -05:00
|
|
|
|
2013-03-10 12:59:50 -04:00
|
|
|
A dark stylesheet for Qt applications.
|
|
|
|
|
|
|
|
|
|
|
|
License
|
2014-01-02 10:27:19 -05:00
|
|
|
===========
|
2013-03-10 12:59:50 -04:00
|
|
|
|
2014-01-02 09:57:14 -05:00
|
|
|
This project is licensed under the MIT license.
|
2013-03-10 12:59:50 -04:00
|
|
|
|
|
|
|
|
|
|
|
Installation
|
2014-01-02 10:27:19 -05:00
|
|
|
==============
|
2013-03-10 12:59:50 -04:00
|
|
|
|
2014-01-02 10:25:15 -05:00
|
|
|
Python
|
2014-01-02 10:27:19 -05:00
|
|
|
-----------
|
2014-01-02 10:25:15 -05:00
|
|
|
|
|
|
|
Install the qdarkstyle package using the *setup* script or using *pip*:
|
2013-03-10 12:59:50 -04:00
|
|
|
|
|
|
|
```bash
|
2013-03-10 16:01:58 -04:00
|
|
|
python setup.py install
|
2013-03-10 12:59:50 -04:00
|
|
|
```
|
2014-01-02 10:25:15 -05:00
|
|
|
|
|
|
|
or
|
|
|
|
|
2013-03-10 12:59:50 -04:00
|
|
|
```bash
|
2013-03-10 16:01:58 -04:00
|
|
|
pip install qdarkstyle
|
2013-03-10 12:59:50 -04:00
|
|
|
```
|
|
|
|
|
2014-01-02 10:25:15 -05:00
|
|
|
C++
|
2014-01-02 10:27:19 -05:00
|
|
|
---------
|
2014-01-02 10:25:15 -05:00
|
|
|
|
2014-01-29 11:52:23 -05:00
|
|
|
1) Download/clone the project and copy the following files to your application directory (keep the existing directory hierarchy):
|
|
|
|
|
|
|
|
- **qdarkstyle/style.qss**
|
|
|
|
- **qdarkstyle/style.qrc**
|
|
|
|
- **qdarkstyle/rc/** (the whole directory)
|
|
|
|
|
|
|
|
2) Add **qdarkstyle/style.qrc** to your **.pro file**
|
|
|
|
|
2014-02-17 09:58:00 -05:00
|
|
|
3) Load the stylesheet:
|
2014-01-29 11:52:23 -05:00
|
|
|
|
2014-01-29 12:07:30 -05:00
|
|
|
```cpp
|
2014-02-17 09:58:00 -05:00
|
|
|
QFile f(":qdarkstyle/style.qss");
|
2014-01-29 12:07:30 -05:00
|
|
|
if (!f.exists())
|
2014-01-29 11:52:23 -05:00
|
|
|
{
|
2014-01-29 12:07:30 -05:00
|
|
|
printf("Unable to set stylesheet, file not found\n");
|
2014-01-29 11:52:23 -05:00
|
|
|
}
|
2014-01-29 12:07:30 -05:00
|
|
|
else
|
2014-01-29 11:52:23 -05:00
|
|
|
{
|
|
|
|
f.open(QFile::ReadOnly | QFile::Text);
|
2014-02-17 09:58:00 -05:00
|
|
|
QTextStream ts(&f);
|
2014-01-29 12:07:30 -05:00
|
|
|
QApplication::instance()->setStyleSheet(ts.readAll());
|
2014-01-29 11:52:23 -05:00
|
|
|
}
|
2014-01-29 12:07:30 -05:00
|
|
|
|
2014-01-29 11:52:23 -05:00
|
|
|
```
|
|
|
|
|
2014-01-02 10:25:15 -05:00
|
|
|
|
2012-08-23 08:30:23 -04:00
|
|
|
|
2012-11-05 13:42:35 -05:00
|
|
|
Usage
|
2014-01-02 10:27:19 -05:00
|
|
|
============
|
2012-08-23 09:03:05 -04:00
|
|
|
|
2013-03-10 12:59:50 -04:00
|
|
|
Here is an example using PySide:
|
2012-08-23 09:03:05 -04:00
|
|
|
|
2012-11-05 13:42:35 -05:00
|
|
|
|
|
|
|
```Python
|
2013-03-10 10:23:21 -04:00
|
|
|
import sys
|
2013-03-10 12:59:50 -04:00
|
|
|
import qdarkstyle
|
2013-03-10 10:23:21 -04:00
|
|
|
from PySide import QtGui
|
2013-03-10 12:59:50 -04:00
|
|
|
|
2013-03-10 10:23:21 -04:00
|
|
|
|
|
|
|
# create the application and the main window
|
|
|
|
app = QtGui.QApplication(sys.argv)
|
|
|
|
window = QtGui.QMainWindow()
|
|
|
|
|
|
|
|
# setup stylesheet
|
2013-03-10 12:59:50 -04:00
|
|
|
app.setStyleSheet(qdarkstyle.load_stylesheet())
|
2013-03-10 10:23:21 -04:00
|
|
|
|
|
|
|
# run
|
|
|
|
window.show()
|
|
|
|
app.exec_()
|
2012-11-05 13:42:35 -05:00
|
|
|
```
|
2012-08-23 09:03:05 -04:00
|
|
|
|
2014-01-02 10:20:29 -05:00
|
|
|
To use PyQt4 instead of PySide, you just need to replace
|
|
|
|
|
|
|
|
```Python
|
|
|
|
app.setStyleSheet(qdarkstyle.load_stylesheet())
|
|
|
|
```
|
|
|
|
|
|
|
|
by
|
|
|
|
|
|
|
|
```Python
|
|
|
|
app.setStyleSheet(qdarkstyle.load_stylesheet(pyside=False))
|
|
|
|
```
|
2013-03-10 12:59:50 -04:00
|
|
|
|
2014-01-02 10:20:29 -05:00
|
|
|
_There is an example included in the *example* folder. You can run the script without installing qdarkstyle. You
|
|
|
|
only need to have PySide or PyQt4 installed on your system._
|
2013-03-10 12:59:50 -04:00
|
|
|
|
2012-08-23 09:03:05 -04:00
|
|
|
Status:
|
2014-01-02 10:27:19 -05:00
|
|
|
===========
|
2012-08-23 09:03:05 -04:00
|
|
|
|
|
|
|
The following widgets are styled:
|
|
|
|
|
|
|
|
- QMainWindow
|
|
|
|
- QWidget
|
|
|
|
- QMenu, QMenuBar
|
|
|
|
- QToolTip
|
|
|
|
- QAbstractItemView
|
|
|
|
- QLineEdit
|
|
|
|
- QGroupBox
|
|
|
|
- QTextEdit, QPlainTextEdit
|
|
|
|
- QTreeView,
|
|
|
|
- QScrollBar
|
|
|
|
- QRadioButton
|
|
|
|
- QCheckBox
|
|
|
|
- QComboBox
|
|
|
|
- QPushButton
|
|
|
|
- QToolButton
|
|
|
|
- QToolBar
|
|
|
|
- QProgressBar
|
|
|
|
- QSpinBox
|
|
|
|
- QFrame
|
|
|
|
- QTabWidget, QTabBar
|
|
|
|
- QDockWidget
|
|
|
|
- QSlider (horizontal and vertical)
|
|
|
|
|
|
|
|
What still needs to be done:
|
|
|
|
|
|
|
|
- QAbstractScrollArea
|
|
|
|
- QSplitter
|
|
|
|
- QStatusBar
|
|
|
|
- QToolBox
|
|
|
|
|
2013-03-10 12:59:50 -04:00
|
|
|
|
2014-01-26 10:06:23 -05:00
|
|
|
Changelog
|
|
|
|
===========
|
|
|
|
```
|
2014-02-20 05:07:53 -05:00
|
|
|
* 1.5:
|
|
|
|
- improve QTabBar style: now works with all tab bar positions (North, South, West and East)
|
|
|
|
- fix bug #6: hide QTabBar base to avoid stange lines at the base of the tab bar.
|
2014-02-17 09:59:08 -05:00
|
|
|
* 1.4: Add style.qss to qrc file, this fix issues with cx_freeze
|
2014-01-30 05:23:57 -05:00
|
|
|
* 1.3:
|
|
|
|
- remove outline on button, checkbox and radio button
|
|
|
|
- add support for closable tabs
|
|
|
|
- better disabled buttons
|
|
|
|
- fix QTextEdit background color to match the color of QPlainTextEdit and QLineEdit
|
|
|
|
- better hover/selected states for QTreeView and QListView
|
|
|
|
- add QHeaderView support
|
2014-01-26 10:06:23 -05:00
|
|
|
* 1.2:
|
|
|
|
- Improve QTableView support
|
|
|
|
* 1.1:
|
|
|
|
- Switch to MIT license
|
|
|
|
- Add python 3 support
|
|
|
|
* 1.0:
|
|
|
|
- First public release (LGPL v2)
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-23 09:03:05 -04:00
|
|
|
Contact information:
|
2014-01-02 10:27:19 -05:00
|
|
|
=========================
|
2012-08-23 09:03:05 -04:00
|
|
|
|
|
|
|
- Maintainer: colin.duquesnoy@gmail.com
|
2012-11-05 16:03:11 -05:00
|
|
|
- Homepage: https://github.com/ColinDuquesnoy/QDarkStyleSheet
|
2013-03-10 10:32:04 -04:00
|
|
|
|
2013-03-10 12:59:50 -04:00
|
|
|
|
|
|
|
Snapshots
|
2014-01-02 10:27:19 -05:00
|
|
|
=================
|
2013-03-10 10:32:04 -04:00
|
|
|
|
2014-01-30 05:17:32 -05:00
|
|
|
Here are the snapshots of the example application:
|
|
|
|
|
|
|
|
![alt text](/screenshots/QDarkStyle example 1.png "QDarkStyle example 1")
|
|
|
|
![alt text](/screenshots/QDarkStyle example 2.png "QDarkStyle example 2")
|
|
|
|
|
|
|
|
And here is a snapshot of an internal app I made at work:
|
2013-03-10 10:32:04 -04:00
|
|
|
|
|
|
|
![alt text](/screenshots/01.png "Screenshot 01")
|
2013-11-23 16:50:03 -05:00
|
|
|
|
|
|
|
|
2014-01-02 10:20:29 -05:00
|
|
|
|
2013-11-23 16:50:03 -05:00
|
|
|
|