From 57a5e6be6d581710d7eeaadc91c3b5742fb81b53 Mon Sep 17 00:00:00 2001 From: Christian Kolset Date: Tue, 11 Aug 2026 10:40:12 -0600 Subject: Fix native-style Qt warning; add a few tooltips; trim Namespace hint text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root cause of "QFont::setPointSize: Point size <= 0 (-1)" on some dropdowns: the app never sets an explicit widget style, so it defaults to native windowsvista, whose popup code calls setPointSize() on fonts resolved from our QSS's pixel-based font-size (pointSize() is -1 by design for px fonts). Tried app.setStyle("Fusion") first — silences it, but Fusion doesn't render buttons/dropdowns to match the QSS the way the native style does. Kept native style, filtered just that one message via qInstallMessageHandler instead — it's cosmetic Qt console noise (the rejected setPointSize call is a no-op, doesn't affect rendering), not a real bug. Also adds a handful of tooltips (Control Editor's Check Syntax/Cancel/ Create Control, device Configure dialog's Close, main toolbar's View/ Configure/RUN/LOG/Settings, a few Control Panel widgets) from an in-progress app-wide tooltip pass, paused partway through by request — remaining buttons are being done manually. Co-Authored-By: Claude Sonnet 5 --- main.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'main.py') diff --git a/main.py b/main.py index dff00bd..26fcaaf 100644 --- a/main.py +++ b/main.py @@ -12,10 +12,30 @@ import sys, os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from PyQt6.QtWidgets import QApplication +from PyQt6.QtCore import qInstallMessageHandler, QtMsgType from ui.main_window import MainWindow +def _qt_message_handler(msg_type, context, message): + """Silence one specific, harmless Qt warning: the native windowsvista + style's combo-box/menu popup code calls QFont::setPointSize() on a + pixel-sized font (our QSS uses px font-size, so pointSize() is -1 by + design) — cosmetic console noise only, doesn't affect rendering. + Everything else still prints normally.""" + if "QFont::setPointSize" in message: + return + if msg_type == QtMsgType.QtWarningMsg: + print(f"Warning: {message}", file=sys.stderr) + elif msg_type == QtMsgType.QtCriticalMsg: + print(f"Critical: {message}", file=sys.stderr) + elif msg_type == QtMsgType.QtFatalMsg: + print(f"Fatal: {message}", file=sys.stderr) + else: + print(message, file=sys.stderr) + + def main(): + qInstallMessageHandler(_qt_message_handler) app = QApplication(sys.argv) app.setApplicationName("LabUI") -- cgit v1.2.3