我想要做的是将自定义CSS应用于从QLabel
派生的自定义小部件,但我没有运气。CSS样式表不适用于自定义QWidget
我已经定义了自定义类为:
class CustomLabel : public QLabel {
}
我没有重新实现的paintEvent
功能,因为我认为,鉴于该标准QLabel
支持CSS样式表,我只需要参考此在CSS新的小工具,例如:
CustomLabel {
background-color: #111111;
font-size: 18px;
font-weight: bold;
}
不幸的是,在运行时,没有风格应用CustomLabel
和应用默认QLabel
风格。
任何人都可以提出为什么我的CSS规则被忽略为CustomLabel
?
步骤重新创建
- 使用Qt Creator的
- 添加派生的自定义类从
QLabel
,并调用它CustomLabel
- 添加
QLabel
到窗体使用设计 创建Qt控件项目
- 将标签升级为
CustomLabel
类 应用使用下面的代码样式表中
main.cpp
:a.setStyleSheet("CustomLabel {font-weight: bold;}");
运行程序,并注意如何
CustomLabel
不按照CSS样式风格。
如果您的CustomLabel具有名称空间,则需要将该名称空间添加到您的css中。请参阅此问题:https://stackoverflow.com/questions/26206492/qt-stylesheet-in-derived-class-in-c-namespace-selector –