Измените цвет фона PyQt5 QPushButton, не теряя стиль кнопки по умолчанию.Python

Программы на Python
Ответить
Anonymous
 Измените цвет фона PyQt5 QPushButton, не теряя стиль кнопки по умолчанию.

Сообщение Anonymous »

У меня есть базовый код графического интерфейса PyQt5 с двумя кнопками. В нем я хочу изменить цвет фона одной из кнопок. Я делаю это, устанавливая атрибут таблицы стилей background-color для кнопки. Это работает, однако в Windows, похоже, удаляются все другие атрибуты стиля для кнопки, в результате чего кнопка становится непривлекательной по сравнению со стандартной, как показано на изображении:
Изображение

Тот же код в Linux не теряет другие стили кнопок и создает:
Изображение

где сохраняются такие вещи, как закругленные углы кнопки по умолчанию и атрибуты наведения.
Код:
import sys

from PyQt5.QtWidgets import QApplication, QGridLayout, QPushButton, QWidget

class Window(QWidget):
def __init__(self):
super().__init__()

self.layout = QGridLayout()

button1 = QPushButton("A")
button1.setFixedSize(64, 64)
button2 = QPushButton("B")
button2.setFixedSize(64, 64)

button2.setStyleSheet("background-color: #ff0000")

self.layout.addWidget(button1, 0, 0)
self.layout.addWidget(button2, 0, 1)

self.setLayout(self.layout)
self.show()

app = QApplication([])

demo = Window()
demo.show()

sys.exit(app.exec())

Можно ли установить фон без потери других атрибутов в Windows (11)?
В Windows я работаю в среде conda с:
pyqt 5.12.3
pyqt5-sip 4.19.18
pyqtchart 5.12
pyqtwebengine 5.12.1
qt 5.12.9

и в Linux (Ubuntu 20.04.5, работающий через WSL2) я работаю в среде conda с:
pyqt 5.15.7
pyqt5-sip 12.11.0
qt-main 5.15.2
qt-webengine 5.15.9
qtconsole 5.3.2


Подробнее здесь: https://stackoverflow.com/questions/750 ... ult-button
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»