我可以为我的自定义Qt UI元素定义自定义CSS/QSS属性吗?

Can I define custom CSS/QSS properties for my custom Qt UI elements?

本文关键字:自定义 QSS 属性 CSS 元素 我的 Qt UI 我可以 定义      更新时间:2023-10-16

例如,我有一个GraphWidget,它可以渲染图形。目前,我使用 getter 和 setter 来设置图形属性,例如:

  • 背景颜色
  • 线条颜色
  • 标记字体大小和颜色

为此使用 CSS 会方便得多:

GraphWidget {
    line-color: red;
    line-width: 2px;
    background-color: black;
}

问题是我不知道如何获取分配给小部件的 CSS 属性。而且我也希望正确继承属性,例如backgroundcolor(用于标记的文本颜色)。

有没有用于扩展Qt 5中CSS样式的API?

没有 API,但您可以使用 QWidget::styleSheet 访问小部件的样式表,并自行解析