Фон для QCombobox, наследующий фоновое изображение - PyQt5 - PullRequest
0 голосов
/ 06 апреля 2020

У меня проблема с тем, что мой QComboBox не использует заданный мной фон, да, это так, за исключением только поля "selected-item". Вот скриншот:

Я хочу, чтобы фон был белым для всего.

Вот код:

from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow, QComboBox
import sys


class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.xpos, self.ypos = 200, 200
        self.width = 1920 / 2
        self.height = 1080 / 2
        self.setFixedSize(self.width, self.height)
        self.setWindowTitle("Test")
        self.move(200, 200)
        self.setStyleSheet("background-image: url(images/background.jpg)")
        self.initUI()

    def initUI(self):
        self.font13 = QtGui.QFont()
        self.font13.setPointSize(13)

        self.combobox = QComboBox(self)
        self.options = ['Option #1', 'Option #2', 'Option #3',
                        'Option #4', 'Option #5', 'Option #6']
        self.combobox.addItems(self.options)
        self.combobox.setFont(self.font13)
        self.combobox.setStyleSheet(
            'background: white')
        self.updateSize(self.combobox)

    def updateSize(self, object):
        object.adjustSize()


def window():
    app = QApplication(sys.argv)
    win = MainWindow()
    win.show()
    sys.exit(app.exec_())


window()

А вот ссылка на фон, который я использовал: https://pixabay.com/es/illustrations/azul-de-fondo-degradado-colores-1142743/

Как я могу изменить его, чтобы все опции имели белый фон а не только выбранный? Спасибо!

1 Ответ

1 голос
/ 06 апреля 2020

Я понял проблему! Проблема заключалась в том, что я устанавливал таблицу стилей всего главного окна , чтобы в качестве фона использовался png, а не только главное окно. Решением было изменить эту строку:

self.setStyleSheet("background-image: url(images/background.jpg)")

на

self.setStyleSheet("QMainWindow {background-image: url(images/background.jpg)}")

Надеюсь, это кому-нибудь поможет!

...