用c++和Qt的painter绘制一个填充了背景色的矩形
时间: 2024-05-12 07:17:25 浏览: 11
好的,下面是代码示例:
``` c++
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget widget;
widget.resize(400, 300);
QPainter painter(&widget);
painter.fillRect(widget.rect(), QBrush(Qt::blue));
widget.show();
return app.exec();
}
```
这段代码创建了一个 QWidget 窗口,然后使用 QPainter 绘制了一个填充了背景色的矩形。QPainter 通过 widget 参数来确定绘制的目标,使用 fillRect 方法填充整个窗口的矩形范围,QBrush 参数指定了填充的颜色。最后将 widget 显示出来即可。
相关问题
用 qt painter 实现绘制一个开口的矩形
好的,我可以回答这个问题。您可以使用Qt的QPainter类来绘制开口的矩形。首先,您需要初始化一个QPainter对象,并将其绑定到您要绘制的窗口或控件上。接下来,您可以使用QPainter的drawLine()函数来绘制四条线来形成矩形,但是在左下角和右下角的两个顶点处需要留出一个开口。具体细节可以参考Qt的官方文档或搜索相关教程。
使用QT绘制一个矩形
在 Qt 中,您可以使用 QPainter 类在窗口上绘制各种形状,包括矩形。以下是一个简单的示例程序,演示如何在窗口中绘制一个矩形:
```cpp
#include <QtGui>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0) : QWidget(parent) { }
protected:
void paintEvent(QPaintEvent *event) {
Q_UNUSED(event);
QPainter painter(this);
painter.drawRect(QRect(50, 50, 100, 100));
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget widget;
widget.show();
return app.exec();
}
```
在这个例子中,我们创建了一个名为 `MyWidget` 的自定义窗口部件,并重写了它的 `paintEvent` 函数。在 `paintEvent` 中,我们创建了一个 QPainter 对象,并使用 `drawRect` 函数在窗口上绘制一个矩形。`drawRect` 函数接受一个 QRect 对象作为参数,指定矩形的位置和大小。
最后,我们创建了一个 QApplication 对象,实例化了 MyWidget 对象并显示它。
注意:您需要将 Qt 的头文件和库链接到您的项目中,以便编译和运行上述代码。