Не видя вашего стиля, немного сложно решить вашу проблему.Поэтому я немного объясню, как все это работает, и, надеюсь, вы сможете решить, как лучше всего решить вашу проблему.
Во-первых, при разработке вашей кнопки важно, чтобы вы покрывали все свои базы.Я уверен, что вы знаете большинство из этого, но на всякий случай ...
QPushButton и QToolButton имеют несколько состояний, которые можно стилизовать, поэтому вы хотите убедиться, что ваша кнопка заметно отличаетсядля каждого состояния, чтобы пользователь мог определить разницу.
QPushButton
{
// The default look of your button
}
QPushButton:disabled
{
}
QPushButton:pressed
{
}
QPushButton:focus
{
}
QPushButton:hover
{
}
QPushButton:checked
{
}
Используйте такие вещи, как цвет фона, цвет переднего плана, цвет границы, и, как правило, вы готовы.
background-color: red;
color: white; // foreground color
border-width: 1px;
border-color: black;
Второе, что нужно знать, это то, что стили могут наследоваться.Поэтому будьте очень осторожны при добавлении стиля в виджет.Когда вы создаете стиль, старайтесь быть конкретным.Если вы назначите этот стиль чему-то в своем пользовательском интерфейсе, цвет фона будет синим, но опасно то, что все дочерние виджеты этого также будут наследовать этот стиль.
QWidget
{
background-color: blue;
}
Может быть, это то, что вы хотите, но часто нет.Поэтому, если вы используете кнопки стилей, всегда помещайте вокруг них селектор QPushButton или QToolButton, то же самое должно применяться и к другим вещам, которые вы создаете.Так что, возможно, именно отсюда происходит ваш сероватый красноватый цвет.
Теперь, последнее, что нужно знать о стилях кнопок, это прямоугольник фокуса.Это раздражающая пунктирная линия, которая появляется, когда ваша кнопка сфокусирована.См. Рисунок ниже.
К сожалению, нет способа стилизовать прямоугольник фокуса с использованием таблиц стилей.Но вы можете избавиться от этого, если вы этого хотите.Смотрите следующую ссылку:
Избавление от прямоугольника фокуса
Итак, в итоге ...
- Убедитесь, что ваша кнопкаСтиль охватывает все состояния, которые вам нужны.
- Убедитесь, что на вашу кнопку не влияют никакие другие стили, добавленные в другие виджеты.
- Либо измените, либо по необходимости избавьтесь от прямоугольника фокуса.
Надеюсь, это поможет.Если вам нужна более конкретная помощь, пожалуйста, опубликуйте свой стиль, и я посмотрю на него.