注意事项集合(常年更新中)

汇总了在编码当中应该注意的问题

1、QWidget的继承类设置样式表没效果

class CustWt: public QWidget{};
CustWt custWt;
custWt.setStyleSheet("#custShow{background-color:#ff0000}");
我们发现上一句样式表并没有达到我们预期的效果,这是因为对于subclass of qwidget,如果设置样式表的话需要重定义PaintEvent事件,如下:
void CustomWidget::paintEvent(QPaintEvent *)
{
	QStyleOption opt;
	opt.init(this);
	QPainter p(this);
	style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}

解决方法:重定义paintEvent事件;或者对于非顶层的subclass of QWidget,可以考虑更改继承与QFrame,这样不需自定义paintEvent事件

你可能感兴趣的:(Qt)