QGraphicsDropShadowEffect引起的重绘

QGraphicsDropShadowEffect绘制的阴影widget,会导致子控件重绘:

如widget存在子控件如pushbutton,treeview,tableview等,当子控件触发任意界面事件(如hover)时,会触发widget重绘事件,进而重绘所有子控件,导致CPU上升,如果treeview(或者tableview)存在数据过多,会导致界卡顿;

改进方法:

widget->setAttribute(Qt::WA_TranslucentBackground);

widget->layout()->setMargin(offset);

继承widget的paintEvent事件进行绘制

你可能感兴趣的:(qt,c++)