Prioritize more important info in README.
parent
cc3a7ef472
commit
0892fa9b11
98
README.md
98
README.md
|
@ -9,15 +9,15 @@ BreezeStyleSheets is a set of beautiful light and dark stylesheets that render c
|
|||
|
||||
- [Gallery](#gallery)
|
||||
- [Customization](#customization)
|
||||
- [Features](#features)
|
||||
- [Plugins](#plugins)
|
||||
- [Extending Stylesheets](#extending-stylesheets)
|
||||
- [Known Issues](#known-issues)
|
||||
- [Installing](#installing)
|
||||
- [CMake Installation](#cmake-installation)
|
||||
- [QMake Installation](#qmake-installation)
|
||||
- [PyQt5 Installation](#pyqt5-installation)
|
||||
- [PyQt6 Installation](#pyqt6-installation)
|
||||
- [Features](#features)
|
||||
- [Plugins](#plugins)
|
||||
- [Extending Stylesheets](#extending-stylesheets)
|
||||
- [Known Issues](#known-issues)
|
||||
- [Debugging](#debugging)
|
||||
- [Development Guide](#development-guide)
|
||||
- [Configuring](#configuring)
|
||||
|
@ -173,6 +173,51 @@ python configure.py --extensions=advanced-docking-system --resource custom.qrc
|
|||
|
||||
Like with styles, `--extensions` takes a comma-separated list of values, or `all`, which will add every extension present in the [extensions](/extension) directory. For a detailed introduction to creating your own extensions, see the extensions [tutorial](/extension/README.md).
|
||||
|
||||
# Features
|
||||
|
||||
- Complete stylesheet for all Qt widgets, including esoteric widgets like `QCalendarWidget`.
|
||||
- Customizable, beautiful light and dark themes.
|
||||
- Cross-platform icon packs for standard icons.
|
||||
- Extensible stylesheets: add your own plugins or rules and automatically configure them using the same configuration syntax.
|
||||
|
||||
## Plugins
|
||||
|
||||
The supported plugins can be found in the [extensions](/extension/README.md) directory and include theme support for:
|
||||
- [Advanced Docking System](/extension/README.md#advanced-docking-system)
|
||||
- [QDockWidget Tooltips](/extension/README.md#qdockwidget-tooltips)
|
||||
- [Complete Standard Icon Set](/extension/README.md#standard-icons)
|
||||
|
||||
# Extending Stylesheets
|
||||
|
||||
There are some limitations of using Qt stylesheets in general, which cannot be solved by stylesheets. To get more fine-grained style control, you should subclass `QCommonStyle`:
|
||||
|
||||
```c++
|
||||
class ApplicationStyle: public QCommonStyle
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
The limitations of stylesheets include:
|
||||
|
||||
- Using custom standard icons.
|
||||
- Scaling icons with the theme size.
|
||||
- QToolButton cannot control the icon size without also affecting the arrow size.
|
||||
- Close and dock float icon sizes scale poorly with font size.
|
||||
|
||||
For an example of using QCommonStyle to override standard icons in a PyQt application, see [standard_icons.py](/example/standard_icons.py). An extensive reference can be found [here](https://doc.qt.io/qt-5/style-reference.html). A reference of QStyle, and the default styles Qt provides can be found [here](https://doc.qt.io/qt-5/qstyle.html).
|
||||
|
||||
# Known Issues
|
||||
|
||||
Some issues cannot be fixed with stylesheets alone, or there are bugs in Qt itself that prevent these issues from being fixed.
|
||||
|
||||
- Placeholder Text color: for the widgets `QTextEdit`, `QPlainTextEdit`, and `QLineEdit`, you can set placeholder text for when no text is present. In Qt5, this is correctly grayed out when the placeholder text is present, which is not respected in Qt6 (as of Qt version 6.3.0). An example of a workaround [placeholder_text.py](/example/placeholder_text.py), which only works currently for Qt5. Using the native stylesheet shows it uses hard-coded colors for Qt6, so this is almost certainly a Qt bug. This is likely referenced in [QTBUG-92947](https://bugreports.qt.io/browse/QTBUG-92947) and [QTCREATORBUG-25444](https://bugreports.qt.io/browse/QTCREATORBUG-25444).
|
||||
- `QSlider` ticks disappear when using stylesheets, which is a known bug referenced in [QTBUG-3304](https://bugreports.qt.io/browse/QTBUG-3304) and [QTBUG-3564](https://bugreports.qt.io/browse/QTBUG-3564). An example of how to style a `QSlider` is available in [slider.py](/example/slider.py), however, this does not work with a stylesheet applied to a `QSlider`.
|
||||
- Triangular QTabBar text and border colors must be the same.
|
||||
- Triangular QTabBars do not have hover events for non-selected widgets.
|
||||
- Custom padding for triangular QTabBars on the bottom is ignored. All other tab positions work.
|
||||
- `QDial` cannot be customized via a stylesheet, which is a known bug in [QTBUG-1160](https://bugreports.qt.io/browse/QTBUG-1160). An example of how to style a `QDial` is available in [dial.py](/example/dial.py). This works out-of-the-box, and can be a drop-in replacement for `QDial`.
|
||||
|
||||
# Installing
|
||||
|
||||
Here are detailed instructions on how to install Breeze Style Sheets for a variety of build systems and programming languages.
|
||||
|
@ -386,51 +431,6 @@ def main():
|
|||
app.exec()
|
||||
```
|
||||
|
||||
# Features
|
||||
|
||||
- Complete stylesheet for all Qt widgets, including esoteric widgets like `QCalendarWidget`.
|
||||
- Customizable, beautiful light and dark themes.
|
||||
- Cross-platform icon packs for standard icons.
|
||||
- Extensible stylesheets: add your own plugins or rules and automatically configure them using the same configuration syntax.
|
||||
|
||||
## Plugins
|
||||
|
||||
The supported plugins can be found in the [extensions](/extension/README.md) directory and include theme support for:
|
||||
- [Advanced Docking System](/extension/README.md#advanced-docking-system)
|
||||
- [QDockWidget Tooltips](/extension/README.md#qdockwidget-tooltips)
|
||||
- [Complete Standard Icon Set](/extension/README.md#standard-icons)
|
||||
|
||||
# Extending Stylesheets
|
||||
|
||||
There are some limitations of using Qt stylesheets in general, which cannot be solved by stylesheets. To get more fine-grained style control, you should subclass `QCommonStyle`:
|
||||
|
||||
```c++
|
||||
class ApplicationStyle: public QCommonStyle
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
The limitations of stylesheets include:
|
||||
|
||||
- Using custom standard icons.
|
||||
- Scaling icons with the theme size.
|
||||
- QToolButton cannot control the icon size without also affecting the arrow size.
|
||||
- Close and dock float icon sizes scale poorly with font size.
|
||||
|
||||
For an example of using QCommonStyle to override standard icons in a PyQt application, see [standard_icons.py](/example/standard_icons.py). An extensive reference can be found [here](https://doc.qt.io/qt-5/style-reference.html). A reference of QStyle, and the default styles Qt provides can be found [here](https://doc.qt.io/qt-5/qstyle.html).
|
||||
|
||||
# Known Issues
|
||||
|
||||
Some issues cannot be fixed with stylesheets alone, or there are bugs in Qt itself that prevent these issues from being fixed.
|
||||
|
||||
- Placeholder Text color: for the widgets `QTextEdit`, `QPlainTextEdit`, and `QLineEdit`, you can set placeholder text for when no text is present. In Qt5, this is correctly grayed out when the placeholder text is present, which is not respected in Qt6 (as of Qt version 6.3.0). An example of a workaround [placeholder_text.py](/example/placeholder_text.py), which only works currently for Qt5. Using the native stylesheet shows it uses hard-coded colors for Qt6, so this is almost certainly a Qt bug. This is likely referenced in [QTBUG-92947](https://bugreports.qt.io/browse/QTBUG-92947) and [QTCREATORBUG-25444](https://bugreports.qt.io/browse/QTCREATORBUG-25444).
|
||||
- `QSlider` ticks disappear when using stylesheets, which is a known bug referenced in [QTBUG-3304](https://bugreports.qt.io/browse/QTBUG-3304) and [QTBUG-3564](https://bugreports.qt.io/browse/QTBUG-3564). An example of how to style a `QSlider` is available in [slider.py](/example/slider.py), however, this does not work with a stylesheet applied to a `QSlider`.
|
||||
- Triangular QTabBar text and border colors must be the same.
|
||||
- Triangular QTabBars do not have hover events for non-selected widgets.
|
||||
- Custom padding for triangular QTabBars on the bottom is ignored. All other tab positions work.
|
||||
- `QDial` cannot be customized via a stylesheet, which is a known bug in [QTBUG-1160](https://bugreports.qt.io/browse/QTBUG-1160). An example of how to style a `QDial` is available in [dial.py](/example/dial.py). This works out-of-the-box, and can be a drop-in replacement for `QDial`.
|
||||
|
||||
# Debugging
|
||||
|
||||
Have an issue with the styles? Here's a few suggestions, prior to filing a bug report:
|
||||
|
|
Loading…
Reference in New Issue