Q画笔点大小为1像素,不能更改

2024-04-25 14:49:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用一个化装的尺寸画点,但是换笔什么也没做。我画的每个点都是一个像素大小。这是我的代码:

class Diedrico(QWidget):
    def __init__(self, parent):
        super().__init__(parent)

    def paintEvent(self, event):
        painter = QPainter()
        pen = QPen(Qt.black)
        pen.setWidth(30)
        painter.setPen(pen)
        painter.begin(self)
        painter.drawPoint(10, 10)
        painter.end()

Tags: 代码selfinit尺寸def像素classparent
1条回答
网友
1楼 · 发布于 2024-04-25 14:49:26

如果在console/CMD中运行脚本,则会收到以下警告:

QPainter::setPen: Painter not active
QPainter::setPen: Painter not active

它清楚地表明您在修改属性时没有qpaint有设备,所以解决方案是在setPen()之前使用begin()初始化设备,或者在构造函数中传递设备,另外在这种情况下不需要end()方法,因为当qpaint被销毁时,就会调用end()。在

^{pr2}$

相关问题 更多 >