diff options
| author | Christian Kolset <ckolset@colostate.edu> | 2026-08-11 10:40:12 -0600 |
|---|---|---|
| committer | Christian Kolset <ckolset@colostate.edu> | 2026-08-11 10:40:12 -0600 |
| commit | 57a5e6be6d581710d7eeaadc91c3b5742fb81b53 (patch) | |
| tree | 10b7188fbe885d6d26a95d3c94d75c856d1888c2 /main.py | |
| parent | e81b74d7faf0ec884749795153124a2fa31411fc (diff) | |
Fix native-style Qt warning; add a few tooltips; trim Namespace hint text
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 <noreply@anthropic.com>
Diffstat (limited to 'main.py')
| -rw-r--r-- | main.py | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -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") |
