【发布时间】:2015-04-16 22:29:30
【问题描述】:
我继承了 Qpushbutton 使其成为圆形,如果我在此类的paintevent中设置背景它工作正常,但我想为此类的每个瞬间设置不同的图像,所以我尝试通过 seticon 和 setstylesheet 设置它,但它确实不行。可能是什么原因。请帮帮我。 提前致谢。
这是我的代码。
CirclularButton::CirclularButton(QWidget *parent):QPushButton(parent)
{
}
void CirclularButton::paintEvent(QPaintEvent *e)
{
QPainter p(this);
p.setRenderHints(QPainter::Antialiasing);
p.drawEllipse(0, 0, 50, 50);
}
and in another class where I am using it,
CirclularButton *cir = new CirclularButton(this);
cir->setGeometry(50,50,50,50);
cir->setStyleSheet("border:1px solid red");
【问题讨论】:
-
您在绘画活动中拥有的就是您将在屏幕上看到的。你不应该期待别的。可以在source code看到基类实现。