Pyside:在 QVBoxLayout 小部件中设置行的背景
Posted
技术标签:
【中文标题】Pyside:在 QVBoxLayout 小部件中设置行的背景【英文标题】:Pyside: setting the background of a row in a QVBoxLayout widget 【发布时间】:2014-05-17 18:34:05 【问题描述】:我有一个 QVBoxLayout 小部件,它有几行,每行包含几个按钮。在一个事件中,我想通过更改其背景来突出显示其中一行。我尝试了许多不同的方法,但都没有奏效。实现这一目标的好方法是什么?
【问题讨论】:
QVBoxLayout widget with a few rows, each containing several buttons
-> 你确定不是在寻找 QGridLayout 吗?无论哪种方式,您是否在相应的小部件上尝试过setStyleSheet("background-color: black;");
,您可以将黑色更改为您想要的颜色?
我尝试的几乎所有东西都会出现这种错误:AttributeError: 'PySide.QtGui.QVBoxLayout' object has no attribute 'setStyleSheet'
是的,因为该属性适用于 QWidgets。布局不是小部件。您将需要设置,例如在您的按钮或它们的容器小部件(如果有)的循环中。
好的。你能提供一个简单的例子供我学习吗?
如果你能提供你的 vbox 结构会更有用,然后人们可以更准确、更有用地为后代指出它。虽然,我不是蟒蛇大师。
【参考方案1】:
您可以在所需行中的小部件上执行以下操作,将黑色替换为您希望拥有的颜色:
myWidget.setStyleSheet("background-color: black;");
【讨论】:
以上是关于Pyside:在 QVBoxLayout 小部件中设置行的背景的主要内容,如果未能解决你的问题,请参考以下文章