Pyside: установка фона строки в виджете QVBoxLayout

У меня есть виджет QVBoxLayout с несколькими строками, каждая из которых содержит несколько кнопок. В событии я хотел бы выделить одну из строк, изменив ее фон. Я пробовал много разных подходов, и ни один не работал. Каков хороший способ добиться этого?


person Saar Drimer    schedule 17.05.2014    source источник
comment
QVBoxLayout widget with a few rows, each containing several buttons -› вы точно не ищете вместо этого QGridLayout? В любом случае, вы пробовали setStyleSheet("background-color: black;"); на соответствующих виджетах, где вы можете изменить черный цвет на желаемый цвет?   -  person lpapp    schedule 17.05.2014
comment
Я получаю такую ​​​​ошибку практически при любой попытке: AttributeError: 'PySide.QtGui.QVBoxLayout' object has no attribute 'setStyleSheet'   -  person Saar Drimer    schedule 17.05.2014
comment
Да, потому что атрибут предназначен для QWidgets. Макеты — это не виджеты. Вам нужно будет установить, например. в цикле для ваших кнопок или их виджета-контейнера, если он есть.   -  person lpapp    schedule 17.05.2014
comment
OK. Можете ли вы привести простой пример для подражания?   -  person Saar Drimer    schedule 17.05.2014
comment
было бы полезнее, если бы вы могли предоставить свою конструкцию vbox, и тогда можно было бы указать ее более точно и с большей пользой для потомков. Хотя я не гуру питона.   -  person lpapp    schedule 17.05.2014


Ответы (1)


Вы можете сделать следующее для виджета (ов) в нужной строке, заменив черный цветом на желаемый цвет:

myWidget.setStyleSheet("background-color: black;");
person lpapp    schedule 18.05.2014