QPainter 绘制透明度为99.9%的背景
时间: 2023-12-27 19:04:35 浏览: 31
要在 QPainter 中绘制透明度为 99.9% 的背景,可以使用 setOpacity() 函数将绘制操作的透明度设置为 0.999,然后使用 drawRect() 函数绘制一个与绘图区域大小相同的矩形。
下面是一个示例代码:
```python
from PyQt5.QtGui import QPainter, QColor, QBrush
from PyQt5.QtCore import Qt
# 在 paintEvent 事件处理函数中使用 QPainter 绘制透明度为 99.9% 的背景
def paintEvent(self, event):
painter = QPainter(self)
painter.setOpacity(0.999)
painter.setBrush(QBrush(QColor(255, 255, 255, 255), Qt.SolidPattern))
painter.drawRect(self.rect())
```
上述代码中,使用 setOpacity() 函数将绘制操作的透明度设置为 0.999,也可以直接传入一个浮点数参数。然后使用 setBrush() 函数设置绘制矩形的画刷,这里使用了一个白色的画刷,绘制实心矩形。最后使用 drawRect() 函数绘制一个与绘图区域大小相同的矩形。
相关问题
Qt cpp QPainter 绘制透明度为99.9%的背景
要在 Qt/C++ 中使用 QPainter 绘制透明度为 99.9% 的背景,可以使用 setOpacity() 函数将绘制操作的透明度设置为 0.999,然后使用 drawRect() 函数绘制一个与绘图区域大小相同的矩形。
下面是一个示例代码:
```cpp
void MyWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setOpacity(0.999);
painter.setBrush(QBrush(QColor(255, 255, 255, 255), Qt::SolidPattern));
painter.drawRect(rect());
}
```
上述代码中,使用 setOpacity() 函数将绘制操作的透明度设置为 0.999,也可以直接传入一个浮点数参数。然后使用 setBrush() 函数设置绘制矩形的画刷,这里使用了一个白色的画刷,绘制实心矩形。最后使用 drawRect() 函数绘制一个与绘图区域大小相同的矩形。
用QPainter绘制一个填充了背景颜色的矩形
好的,我可以为您提供一段简单的代码示例,用QPainter绘制一个填充了背景颜色的矩形。代码如下:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPainter, QColor, QBrush
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('QPainter演示')
self.show()
def paintEvent(self, event):
qp = QPainter()
qp.begin(self)
self.drawRectangles(qp)
qp.end()
def drawRectangles(self, qp):
brush = QBrush(QColor(255, 0, 0, 255))
qp.setBrush(brush)
qp.drawRect(10, 15, 90, 60)
```
在这里,我们首先定义一个QPainter对象,然后使用setBrush()设置一个QBrush对象,该对象设置为红色,并使用QPainter的drawRect()方法绘制一个矩形。在这个例子中,我们定义了一个QWidget(即一个窗口),在paintEvent()方法中,我们将QWidget的绘制过程交给了我们刚刚定义的QPainter对象qp。当使用绘图工具绘制的时候,QPainter会把QWidget对象的内容绘制在屏幕上。