我基本上想在对话框窗口小部件上显示一个矩形。使用另一个问题作为参考,我尝试调整使用 QLabel 并对其进行绘画的框架(整个过程似乎过于复杂)。
我首先在对话框的类中创建一个成员:
QLabel* label;
在对话框的构造函数中:
label = new QLabel(this);
label->setGeometry(20, 50, 50, 100);
只是为了让它工作,我给对话框一个按钮,让用标签创建的“矩形”出现在小部件上。我将此按钮的“按下”信号连接到执行以下操作的插槽:
QPixmap pixmap(50, 100);
pixmap.fill(QColor("transparent"));
QPainter painter(&pixmap);
painter.setBrush(QBrush(Qt::black));
painter.drawRect(20, 50, 50, 100);
label->setPixmap(pixmap);
update();
不幸的是,当我按下按钮时,小部件中什么也没有出现。我在这里想念什么?