1

我有这样的QFrame习惯

//! Widget which displays a audio level meter, indicating the
//! level and peak levels of the window of audio samples most recently analyzed
class BLACKGUI_EXPORT CLevelMeter : public QFrame
{
    Q_OBJECT
    Q_PROPERTY(QColor lowColor  READ getLowColor  WRITE setLowColor)
    Q_PROPERTY(QColor highColor READ getHighColor WRITE setHighColor)
    Q_PROPERTY(QColor peakColor READ getPeakColor WRITE setPeakColor)

我想在这样的qss样式表中设置这些颜色

BlackGui--CLevelMeter {
  lowColor: blue;
  border: 1px solid grey;
  border-radius: 5px;

这不起作用,有机会这样做吗?

4

1 回答 1

1

正如文档指出的那样:

设置 QObject 属性

从 4.3 及更高版本开始, 可以使用语法设置任何可设计的Q_PROPERTY 。qproperty-<property name>

例如,

MyLabel { qproperty-pixmap: url(pixmap.png); }
MyGroupBox { qproperty-titleColor: rgb(100, 200, 100); }
QPushButton { qproperty-iconSize: 20px 20px; }

如果该属性引用了一个用 Q_ENUMS 声明的枚举,您应该按名称引用它的常量,即,而不是它们的数值。

您必须使用qproperty-lowColor.

于 2019-09-27T00:37:58.753 回答