C++ QgraphicScene画矩形 并保证矩形间都保持20间距
时间: 2024-05-12 12:15:26 浏览: 12
可以通过以下步骤在QGraphicsScene中画矩形并保持间距:
1. 定义一个变量来表示矩形之间的间距,例如 `int spacing = 20;`
2. 定义一个变量来表示矩形的大小,例如 `int rectSize = 50;`
3. 定义一个变量来表示当前矩形绘制的位置,例如 `int x = 0; int y = 0;`
4. 使用一个循环来绘制多个矩形,例如:
```
for(int i = 0; i < 10; i++) {
QGraphicsRectItem *rect = new QGraphicsRectItem(x, y, rectSize, rectSize);
scene->addItem(rect);
x += rectSize + spacing;
}
```
在这个循环中,我们首先创建一个新的 `QGraphicsRectItem` 对象,它的位置和大小由 `x`,`y`,`rectSize` 变量确定。然后将此对象添加到场景中。最后,我们将 `x` 增加一个间距 `spacing`,以便在下一个矩形绘制之前保留一定的间距。
可以根据需要调整 `spacing` 和 `rectSize` 变量的值,以达到所需的效果。
相关问题
c++ opencv 画矩形
你可以使用 OpenCV 中的 `rectangle()` 函数绘制矩形。这个函数有以下参数:
- `img`:要绘制矩形的图像。
- `pt1`:矩形的左上角点。
- `pt2`:矩形的右下角点。
- `color`:矩形的颜色。
- `thickness`:矩形边框的粗细,默认值为1。
- `lineType`:线条的类型,默认值为8。
以下是一个简单的示例代码:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("test.jpg");
Point pt1(100, 100);
Point pt2(200, 200);
Scalar color(0, 0, 255);
int thickness = 2;
int lineType = LINE_8;
rectangle(img, pt1, pt2, color, thickness, lineType);
imshow("Image", img);
waitKey(0);
return 0;
}
```
这个代码会读取名为 "test.jpg" 的图像,绘制一个左上角为 (100,100),右下角为 (200,200) 的红色矩形,并显示结果图像。
mfcgdi c++ 画矩形
您可以使用 MFC GDI(图形设备接口)来绘制矩形。以下是一个示例代码:
```cpp
// 在您的绘图函数(OnPaint)或其他适当的位置调用此代码
CPaintDC dc(this); // 获取设备上下文
CRect rect(50, 50, 200, 200); // 定义矩形的左上角和右下角坐标
dc.Rectangle(rect); // 绘制矩形
```
在上述代码中,我们首先获取设备上下文 `CPaintDC`,然后使用 `CRect` 定义矩形的左上角和右下角坐标。最后,通过调用 `dc.Rectangle(rect)` 绘制矩形。
请注意,上述代码应在适当的绘图函数中调用,例如 `OnPaint` 函数。如果您想在其他位置绘制矩形,请确保使用正确的设备上下文。