Я хотел бы остановить QPushButton от отступов при нажатии и вместо этого просто изменить цвет фона.Остановка QPushButton From Indenting
Приветствия заранее.
Я хотел бы остановить QPushButton от отступов при нажатии и вместо этого просто изменить цвет фона.Остановка QPushButton From Indenting
Приветствия заранее.
Что касается остановки отступа, я думаю, что вы можете сделать setFlat как описано здесь: http://doc.qt.io/archives/qt-4.7/qpushbutton.html#flat-prop
Одним из вариантов было бы подкласс QPushButton и переопределить его paintEvent (QPaintEvent *) метод с вашей собственной реализации, что дает ему взгляд, который вы хотите дать.
В качестве альтернативы, вы можете создать подкласс QCommonStyle (или QWindowsStyle или т.п.) и передать его qApp-> SetStyle(), и переопределить метод drawControl(), так что, когда drawControl вызывается с элементом CE_PushButtonBevel, было бы вызвать к суперклассу, используя отдельный аргумент QStyleOptionButton, который не включает установленные биты State_Sunken или State_On. (Вероятно, потребуется немного изучить метод drawControl() суперкласса, чтобы точно определить, что необходимо для получения желаемого эффекта).
Решение, которое легко установить (но может не обеспечить точно, что вы хотите) было бы использовать Qt Style Sheet.
С таблицами стилей вы можете указать цвет фона для кнопки pressed state. Выполнение этого будет подавлять отступ. Например:
pMyPushButton->setStyleSheet("QPushButton:pressed { background-color : red; }");
У этого еще есть отступ по клику. – user174084