Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo dibujar un círculo en Python pyqt

Cómo dibujar un círculo en Python pyqt

Trabajé en este ejemplo durante varios días:

1) El código fuente C del sitio web oficial se reescribió en la versión PyQt5 del código y muchos detalles no se convirtieron

2) El ejemplo de PyQt en Internet no se puede ejecutar en absoluto

Después de superar innumerables errores y combinar los dos, finalmente pude completar un dibujo circular.

También dominé muchos conocimientos nuevos en este proceso

Puntos de conocimiento

1. Acerca del uso de puntos múltiples

poitns = [QPoint(10, 80), QPoint (20, 10), QPoint(80, 30), QPoint(90, 70)]

Consulte:

1 ?# Definir múltiples puntos 2 ?puntos = [QPoint (10, 80), QPoint(20, 10), QPoint(80, 30), QPoint(90, 70)] 3 ?# === ¡Usar puntos directamente causará un error! ========= 5 ?# 5 ?6 * elif self.shape == self.Points:7 ? pintor.drawPoints(puntos) 8 ? elif self.shape == self.Polyline:10 ? pintor.drawPolyline(puntos)11 12 ? elif self.shape == self.Polygon:13 pintor.drawPolygon(puntos, 4)14 15 ?# drawPolygon(puntos, 4)14 15 ?.16 17 ?# === en ¡Envolver los puntos en QPolygon() es correcto! =========18 ?# 18 ? .19 ? elif self.shape == self.Points:20 ? pintor.drawPoints(QPolygon(puntos))21 22 ? :23 ? pintor.drawPolyline(QPolygon(puntos))24 25 ? elif self.shape == self.Polygon:26 pintor.drawPolygon(QPolygon(puntos), 4)27 28 ?# ...QtWidgets importar *clase StockDialog( QWidget): def __init__(self, parent=None):

super(StockDialog, self).__init__(parent)

self.setWindowTitle("Dibujar varias formas con QPainter")

mainSplitter = QSplitter(Qt.Horizontal)

mainSplitter.setOpaqueResize(True)

frame = QFrame(mainSplitter)

mainLayout = QGridLayout(frame) #mainLayout.setMargin(10)

mainLayout.setSpacing(6)

label1 = QLabel("Forma:")

label2 = QLabel ("Ancho de línea de pincel:")

label3 = QLabel("Color de pincel:")

label4 = QLabel("Estilo de pincel:"

lab

el5=QLabel("Parte superior del pincel:")

label6=QLabel("Punto de conexión del pincel:")

label7=QLabel("Estilo del pincel:")

label8=QLabel("Color del pincel:")

self.shapeComboBox = QComboBox()

self.shapeComboBox.addItem("Línea", "Línea")

self.shapeComboBox.addItem("Rectangle", "Rectangle")

self.shapeComboBox..addItem('Ruta', 'Ruta')

self.shapeComboBox.addItem(' Polígono', 'Polígono')

self.shapeComboBox.addItem('Polyline', 'Polyline')

self.shapeComboBox.addItem('Arc', 'Arc')

self.shapeComboBox.addItem('Puntos', 'Puntos')

self.self.shapeComboBox.addItem('Texto', 'Texto')

self.shapeComboBox.addItem('Pixmap', 'Pixmap')

self.widthSpinBox = QSpinBox()

self.widthSpinBox.setRange(0, 20)

self.penColorFrame = QFrame()

self.penColorFrame.setAutoFillBackground(True)

self.penColorFrame.setRange(0, 20)