Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python QPainter点大小为1像素,无法更改_Python_Pyqt_Pyqt5_Qpainter - Fatal编程技术网

Python QPainter点大小为1像素,无法更改

Python QPainter点大小为1像素,无法更改,python,pyqt,pyqt5,qpainter,Python,Pyqt,Pyqt5,Qpainter,我试着用一种装束的尺寸来画点,但是换支笔没用。我画的每个点都是一个像素大小。这是我的密码: class Diedrico(QWidget): 定义初始化(自身,父级): super()。\uuuu init\uuuu(父级) def paintEvent(自身,事件): painter=QPainter() pen=QPen(Qt.黑色) 笔设置宽度(30) 画师:画笔 画家。开始(自我) 绘制点(10,10) (完) 如果在控制台/CMD中运行脚本,您将收到以下警告: QPainter::se

我试着用一种装束的尺寸来画点,但是换支笔没用。我画的每个点都是一个像素大小。这是我的密码:

class Diedrico(QWidget):
定义初始化(自身,父级):
super()。\uuuu init\uuuu(父级)
def paintEvent(自身,事件):
painter=QPainter()
pen=QPen(Qt.黑色)
笔设置宽度(30)
画师:画笔
画家。开始(自我)
绘制点(10,10)
(完)

如果在控制台/CMD中运行脚本,您将收到以下警告:

QPainter::setPen: Painter not active
QPainter::setPen: Painter not active
它清楚地表明您正在修改属性,而QPainter没有设备,因此解决方案是在setPen()之前使用begin()初始化设备,或者在构造函数中传递设备,此外,在这种情况下,end()方法是不必要的,因为当QPainter被销毁时,将调用end()

从PyQt5.QtCore导入Qt
从PyQt5.QtGui导入QPainter、QPen
从PyQt5.QtWidgets导入QApplication,QWidget
Diedrico类(QWidget):
def paintEvent(自身,事件):
油漆工=油漆工(自身)
#或
#painter=QPainter()
#画家。开始(自我)
pen=QPen(Qt.黑色)
笔设置宽度(30)
画师:画笔
绘制点(10,10)
如果名称=“\uuuuu main\uuuuuuuu”:
导入系统
app=QApplication(sys.argv)
w=迪德里科()
w、 show()
sys.exit(app.exec_())