在 Qt 中,使用 QPainter
绘制矩形是非常简单的。下面是一个基本的示例,展示了如何在自定义窗口中使用 QPainter
绘制一个矩形。
示例代码
#include <QApplication>
#include <QWidget>
#include <QPainter>
class MyWidget : public QWidget {
protected:
void paintEvent(QPaintEvent *event) override {
Q_UNUSED(event); // 避免未使用参数警告
QPainter painter(this);
// 设置画笔颜色和宽度
painter.setPen(QPen(Qt::black, 2));
// 设置填充颜色
painter.setBrush(QBrush(Qt::blue));
// 绘制矩形 (x, y, width, height)
painter.drawRect(50, 50, 200, 100);
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MyWidget widget;
widget.resize(300, 200); // 设置窗口大小
widget.setWindowTitle("QPainter 绘制矩形示例");
widget.show();
return app.exec();
}
程序说明:
- MyWidget 类:继承自
QWidget
,重写了paintEvent
方法。在这个方法中,我们使用QPainter
来绘制图形。 - 设置画笔:通过
painter.setPen()
来设置画笔的颜色和宽度。 - 设置填充颜色:通过
painter.setBrush()
来设置填充的颜色。 - 绘制矩形:使用
painter.drawRect()
方法来绘制一个矩形,其中(50, 50)
是矩形的左上角坐标,200
和100
分别是矩形的宽度和高度。 - 主函数:创建应用程序对象,初始化并显示自定义窗口。
编译与运行
将上述代码保存为 .cpp
文件,并在支持 Qt 的环境下编译(如 Qt Creator)。确保已经正确配置 Qt 环境,然后你就可以运行这个程序,会看到一个窗口里面绘制了一个蓝色的矩形。
内容由零声教学AI助手提供,问题来源于学员提问