0
我有一個繼承QPushButton小部件的類。我想自定義該按鈕的外觀,所以我重寫了paintEvent方法。我想要繪製的所有按鈕都是QFrame對象的子對象。QT paintEvent爲QWidget
在那裏我有一個問題。我無法重新繪製這些對象。
我的paintEvent功能:
void Machine::paintEvent(QPaintEvent*) {
QPainter painter(this);
QRect geo = this->geometry();
int x, y, width, height;
x = geo.x()-10;
y = geo.y()-10;
width = geo.width()-3;
height = geo.height()-5;
painter.fillRect(x, y, width, height, QColor(220,220,220));
painter.drawText(x+10, y+10, "Machine " + QString::number(id));
}
當構件是QFrame的左上角,期望的效果是好的。但是當我將按鈕移動到其他地方時,小部件開始消失。在圖片你可以看到怎麼回事:
按鈕只是有些感動PX左下方。爲什麼它像這樣工作? QFrame是該按鈕的容器,足夠大。
預先感謝;)
如果你從那裏重新實現moveEvent和調用更新怎麼辦? – koplersky