【发布时间】:2015-05-04 14:44:52
【问题描述】:
我可以在QLabels 上显示一个边框就好了:
但是当我尝试在其中显示像素图时,边框消失了:
我在 QLabel 子类的构造函数中设置了框架属性:
ObjectSlot::ObjectSlot(int index) {
setIndex(index);
setFrameShape(QFrame::StyledPanel);
setFrameShadow(QFrame::Raised);
setLineWidth(3);
setMidLineWidth(3);
setAlignment(Qt::AlignCenter);
return;
}
像素图设置在paintEvent:
void ObjectSlot::paintEvent(QPaintEvent* event) {
QPixmap* image = new QPixmap("://images/Box.png");
setPixmap(image->scaled(width(),height(),Qt::KeepAspectRatio));
QLabel::paintEvent(event);
}
为什么边界消失了?为什么生活如此残酷?
【问题讨论】:
-
边框不会因为你看不到而消失,因为像素图占用了框架的大小。
-
@NanaOsaberima 使用 alpha 通道图像也没有边框,所以可能不是问题。
-
我尝试使用较小的像素图并遇到了同样的问题。