У меня есть собственный виджет, который наследуется от QWidget и содержит некоторые метки в его макете. Я хотел бы изменить цвет фона виджета и надписей в виджете (это все!) Каждый раз, когда на него наведем указатель мыши.
Когда используешь *:hover { background: red; }
в моем настраиваемом виджете содержимое отображается красным только при наведении указателя мыши на ярлыки, но не за их пределы, между ярлыками и т. д. Я не понимаю этого поведения, учитывая, что я поместил таблицу стилей в родительский виджет.
Есть идеи? Большое спасибо,
Вы можете установить таблицу стилей родителя, которая будет каскадно подключаться к детям, вот так:
parent->setStyleSheet("* {background: red}");
Только для зависания:
parent->setStyleSheet("*:hover {background: red}");
Проверять, выписываться https://qt-project.org/doc/qt-5.1/qtwidgets/stylesheet-syntax.html
Наконец, я решил проблему, создав QFrame внутри основного QWidget и установив таблицу стилей этого QFrame.