У меня есть собственный виджет, состоящий из QFrame
, в котором находится QWebEngineView
, который отображает <textarea/>
в своем HTML.
На следующем рисунке верхний виджет — это QComboBox
, средний виджет — это мой пользовательский виджет, а нижний виджет — это QPushButton
. Я хочу, чтобы мой пользовательский виджет при выборе имел светящуюся рамку выбора, которая есть у QComboBox
.
Два моих требования:
- Граница отображается только тогда, когда мой пользовательский виджет действительно выбран, а не отображается все время.
- Стиль границы (цвет, ширина и т. д.) должен быть стилем по умолчанию для любой платформы, на которой я запускаю свое приложение. Например, мне не нужна синяя рамка выбора macOS в Windows.
Как мне это сделать?
Существует вопрос (Как добавить границу вокруг QWidget?), но ответ представляет собой настраиваемый стиль, а не стиль платформы по умолчанию, и не объясняет, как сделать границу зависящей от выбора, а не отображать ее постоянно.
eventFilter
для целевых событий FocusIn/Out. Вы можете использоватьplatform
илиos
, чтобы выяснить, на какой платформе работает ваше приложение. - person Shilo   schedule 11.03.2019