qt中一个QRect实例tempA,如何获取其左上角30%、右下角30%、中心30%的区域
时间: 2024-02-07 08:04:20 浏览: 30
可以使用`QRect::adjusted`函数来实现。
获取左上角30%的区域可以这样做:
```cpp
QRect tempB = tempA.adjusted(0, 0, tempA.width() * 0.3, tempA.height() * 0.3);
```
获取右下角30%的区域可以这样做:
```cpp
QRect tempC = tempA.adjusted(tempA.width() * 0.7, tempA.height() * 0.7, 0, 0);
```
获取中心30%的区域可以这样做:
```cpp
QRect centerRect = tempA.adjusted(tempA.width() * 0.15, tempA.height() * 0.15, -tempA.width() * 0.15, -tempA.height() * 0.15);
```
其中,`adjusted`函数的四个参数分别是左、上、右、下的偏移量。这里利用了`QRect`的宽和高的百分比来计算偏移量。注意,这里的百分比是小数形式。
相关问题
qt 获取当前窗口右下角的坐标
你可以使用QWidget类的geometry()方法获取当前窗口的位置和大小信息,然后计算出窗口右下角的坐标。下面是一个示例代码:
```cpp
// 获取当前窗口的位置和大小信息
QWidget *window = QApplication::activeWindow();
QRect geometry = window->geometry();
// 计算窗口右下角的坐标
int x = geometry.x() + geometry.width();
int y = geometry.y() + geometry.height();
QPoint pos(x, y);
```
在上面的示例代码中,使用QWidget类的geometry()方法获取当前窗口的位置和大小信息,然后计算出窗口右下角的坐标,并使用QPoint类来表示窗口右下角的坐标。
Qt cpp再QPixmap wndBackFoucsPixmapTemp 内边距 上下左右20px的中心作为绘制区域,居中绘制pixmap a
好的,你可以使用QPainter类来实现这个功能。首先,你需要创建一个QPainter对象,并将它的绘制区域设置为wndBackFoucsPixmapTemp的中心,使用QRect类的中心点坐标和大小来计算出绘制区域。然后,你可以使用QPainter的drawPixmap函数来在绘制区域居中绘制pixmap a。
代码示例:
```
QPainter painter(&wndBackFoucsPixmapTemp);
int x = (wndBackFoucsPixmapTemp.width() - 2 * 20 - pixmap_a.width()) / 2 + 20;
int y = (wndBackFoucsPixmapTemp.height() - 2 * 20 - pixmap_a.height()) / 2 + 20;
QRect rect(x, y, pixmap_a.width(), pixmap_a.height());
painter.drawPixmap(rect, pixmap_a);
```
注意,这里的20是指内边距的大小,你可以根据实际需求进行修改。同时,还需要注意pixmap a的大小不能超过绘制区域的大小,否则会被裁剪。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)