-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.7
-
None
-
950cd5888 (dev), 74cb590c2 (6.5), e0e618bc3 (6.6)
While working on the code snippet for https://codereview.qt-project.org/c/qt/qtdeclarative/+/493843/2, I noticed that while fonts inherited from windows to child popups, palettes were inherited from their parent popup. It turns out that the font behaviour is the correct approach, demonstrated by this example with widgets. Quoting Volker:
That is expected, things don't propagate beyond the window boundary, and the childPopup is a toplevel window (implicitly as a Qt::Popup is always a toplevel window). For that reason, QComboBox explicitly propagates palette and font changes to its dropdown (see QComboBox::changeEvent handling QEvent::PaletteChange and QEvent::FontChange). But a QLineEdit doesn't do that for it's context menu (and it shouldn't; a QComboBox's popup is a part of the combobox, while a line edit's context menu is a separate UI element).
On the Quick side, a Popup is conceptually like a toplevel window, and I'd think the same propagation rules there would make sense.
That popups should inherit their properties from their window was also mentioned in the comments quoted here.
- resulted from
-
QTBUG-115322 Theme properties set on Item are not propagated to children
-
- Closed
-
For Gerrit Dashboard: QTBUG-115707 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
498196,4 | Fix child popup palette inheritance | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
499829,2 | Fix child popup palette inheritance | 6.5 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
499830,2 | Fix child popup palette inheritance | 6.6 | qt/qtdeclarative | Status: MERGED | +2 | 0 |