<div dir="ltr">Hello i'm not able to paint on my widget:<div>i wrote this but nothing is painted:</div><div># -*- coding: utf-8 -*-<br><br>"""<br>Module implementing Form.<br>"""<br><br>from PyQt5.QtCore import pyqtSlot, QRect<br>from PyQt5.QtWidgets import QWidget, QFileDialog<br>from PyQt5.QtGui import QPainter, QBrush, QPen<br>from PyQt5.QtCore import Qt<br>import ezdxf<br>#from ezdxf.addons.drawing import matplotlib<br>#from ezdxf.groupby import groupby<br>import math<br><br><br>from Ui_form import Ui_Form<br><br><br>class Form(QWidget, Ui_Form):<br>    """<br>    Class documentation goes here.<br>    """<br>    def __init__(self, parent=None):<br>        """<br>        Constructor<br>        <br>        @param parent reference to the parent widget<br>        @type QWidget<br>        """<br>        super(Form, self).__init__(parent)<br>        self.setupUi(self)<br>        self.arco = False<br>        self.line = False<br>    <br>    @pyqtSlot()<br>    def on_pushButton_clicked(self):<br>        """<br>        Slot documentation goes here.<br>        """<br>        # TODO: not implemented yet<br>        #raise NotImplementedError<br>        self.carico_file()<br>        <br>    <br>    <br>    @pyqtSlot()<br>    def on_pushButton_2_clicked(self):<br>        """<br>        Slot documentation goes here.<br>        """<br>        # TODO: not implemented yet<br>        raise NotImplementedError<br><br><br>    def carico_file(self):<br>            fname = QFileDialog.getOpenFileName(self, 'Open file', None, ("Drawing (*.dxf )"))<br>            doc = ezdxf.readfile(fname[0])<br>            msp = doc.modelspace()<br>            lista_disegno = []<br>            a = 0<br>            for entity in msp:<br>                self.arco = False<br>                self.linea =False<br>                print(entity.dxfattribs())<br>                if entity.dxftype() == 'LINE':<br>                    linea_x = entity.dxf.end[0]-entity.dxf.start[0]<br>                    linea_y = entity.dxf.end[1]-entity.dxf.start[1]<br>                    lista_disegno.append('linea_x'+str(a)+': '+str(linea_x))<br>                    lista_disegno.append('linea_y'+str(a)+': '+str(linea_y))<br>                    self.x1 = entity.dxf.start[0]<br>                    self.y1 = entity.dxf.start[1]<br>                    self.x2 = entity.dxf.end[0]<br>                    self.y2 = entity.dxf.end[1]<br>                    print('linea', self.x1, self.y1, self.x2, self.y2)<br>                    a = a+1<br>                    self.linea = True<br>                    self.update()<br>                if entity.dxftype()=='ARC':<br>                    angolo_tot_gradi = entity.dxf.end_angle-entity.dxf.start_angle<br>                    lung_arco= 2*math.pi*entity.dxf.radius/360*angolo_tot_gradi<br>                    lista_disegno.append('arco'+str(a)+': '+str(lung_arco))<br>                    self.startangle = entity.dxf.start_angle<br>                    self.spanangle = lung_arco<br>                    xr = entity.dxf.center[0]<br>                    yr = entity.dxf.center[1]<br>                    r = entity.dxf.radius<br>                    self.rectangle = QRect(xr, yr, 2*r, 2*r)<br>                    self.arco = True<br>                    #self.update()<br>                    #self.draw_arc(rectangle, startangle, spanangle)<br>                print(lista_disegno)<br>                self.update()<br><br>    def paintEvent(self, event):<br>        if self.arco == True:<br>            qp = QPainter()<br>            #qp.begin(self)<br>            pen = QPen(Qt.red, 2, Qt.SolidLine)<br>            qp.setPen(pen)<br>            qp.drawArc(self.rectangle, self.startangle, self.spanangle)<br>        if self.line == True:<br>            qp = QPainter()<br>            pen = QPen(Qt.red, 2, Qt.SolidLine)<br>            qp.setPen(pen)<br>            qp.drawLine(self.x1, self.y1, self.x2, self.y2)<br></div></div>