程序员给程序添加样式表,比如我想给一个自定义的myPushButton继承于QPushButton 定义样式表
又不想适用于所有的QPushButton都采用这样的样式表我们就需要采用下列写法
setStyleSheet(QString("QPushButton#myPushButton{border:1px solid #DDDDDD;color:#b4b4b4;}" "QLineEdit#m_edit:hover,focus{border:1px solid #00B266}"));那么问题就来了样式表为什么不生效呢。本分的关键点来了 我们需要给myPushButton设置名字,myPushButton->setObjectName(QString("myPushButton"));
(和#号后面一样) 测试一下,是不是样式表就生效了呢
新建了一个继承于QWidget的子类 设置样式表发现无效 需要重写paintEvent(QPaintEvent *event)
void paintEvent(QPaintEvent *event)
{
QStylePainter painter(this);//用style画背景 (会使用setstylesheet中的内容)
QStyleOption opt;
opt.initFrom(this);
opt.rect = rect();
painter.drawPrimitive(QStyle::PE_Widget, opt);
QWidget::paintEvent(event);
}

本文介绍如何为特定控件设置样式表而不影响其他同类控件。通过设置对象名称并重写paintEvent方法,确保样式准确应用于目标控件。
1万+

被折叠的 条评论
为什么被折叠?



