From 24146d49dbe7b1d2b916d6b431552df7b8da94f7 Mon Sep 17 00:00:00 2001 From: pax Date: Sun, 5 Apr 2026 05:27:41 -0500 Subject: [PATCH] Fix spinbox arrows under custom QSS Inject CSS triangle arrows using palette(text) color when the user's QSS doesn't already style QSpinBox buttons. --- booru_viewer/gui/app.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/booru_viewer/gui/app.py b/booru_viewer/gui/app.py index 6f504e1..fb93fc5 100644 --- a/booru_viewer/gui/app.py +++ b/booru_viewer/gui/app.py @@ -1809,6 +1809,28 @@ def run() -> None: # Use Fusion style so QSS has full control over rendering app.setStyle("Fusion") css_text = custom_css.read_text() + # Inject spinbox arrow fix if not already styled + if "QSpinBox::up-button" not in css_text: + css_text += """ + QSpinBox::up-button, QSpinBox::down-button { + width: 16px; + border: none; + } + QSpinBox::up-arrow { + image: none; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-bottom: 5px solid palette(text); + width: 0; height: 0; + } + QSpinBox::down-arrow { + image: none; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid palette(text); + width: 0; height: 0; + } + """ app.setStyleSheet(css_text) # Extract selection color from QSS and apply to palette import re