[Bug 2147278] Re: KDE/Qt frontend broken under Qt6: black window, terminal not scrolling, enum errors
Launchpad Bug Tracker
2147278 at bugs.launchpad.net
Sat Apr 4 19:10:37 UTC 2026
** Merge proposal linked:
https://code.launchpad.net/~eeickmeyer/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/503236
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-release-upgrader in
Ubuntu.
https://bugs.launchpad.net/bugs/2147278
Title:
KDE/Qt frontend broken under Qt6: black window, terminal not
scrolling, enum errors
Status in ubuntu-release-upgrader package in Ubuntu:
In Progress
Bug description:
The KDE (Qt) frontend of ubuntu-release-upgrader has several issues
when running under Qt6/PyQt6:
1. Black window on startup
The main upgrader window appears completely black with no content
rendered. This is caused by the app.exec()/app.exit() pattern used to
process events during window setup. In Qt6, calling app.exit() marks
the QApplication as "quit", which prevents subsequent paint events
from being processed.
2. Terminal output does not auto-scroll
The DumbTerminal widget that displays upgrade progress output does not
scroll to follow new lines as they are added. Users must manually
scroll to see current progress.
3. Unscoped Qt5-style enum references crash under PyQt6
PyQt6 requires fully-scoped enum names (e.g., QMessageBox.Icon.Warning
instead of QMessageBox.Warning). Four locations use the old unscoped
style, causing AttributeError at runtime:
- QMessageBox.Warning
- QTextCursor.End
- Qt.FramelessWindowHint
- QMessageBox.Ok / QMessageBox.Cancel
4. No backward compatibility with PyQt5 on 24.04
Users upgrading from 24.04 LTS still have PyQt5 installed. The
frontend imported directly from PyQt6, which is unavailable on those
systems.
Fix:
- Replaced app.exec()/app.exit() with a local QEventLoop for initial window rendering
- Added moveCursor(End) and ensureCursorVisible() to the terminal widget
- Updated all enum references to use Qt6-scoped names
- Created PyQtCompat.py compatibility shim that tries PyQt6 first, falls back to PyQt5
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/2147278/+subscriptions
More information about the foundations-bugs
mailing list