Я работаю над проектом, который в основном Paint.Я реализовал функцию открытия файла, поэтому, когда я открываю файл, он загружается в QPixmap.
Проблема в : когда я пытаюсь нарисовать на успешно загруженном QPixmap, мое приложение вылетает (без ошибок или чего-то другого, он просто закрывается).Я предоставлю свой код для рисования и открытия файла.Я думаю, что остальные (пользовательский интерфейс и т. Д.) В этом случае не нужны.
Рисунок:
class Canvas(QLabel):
def __init__(self, parent=None):
super().__init__(parent)
p = self.palette()
p.setColor(self.backgroundRole(), Qt.white)
self.setAutoFillBackground(True)
self.setPalette(p)
self.myPixmap = QPixmap(600, 600)
self.painter = QPainter(self.myPixmap)
self.pen = QPen()
self.painter.setPen(self.pen)
self.painter.fillRect(0, 0, 600, 600, Qt.white)
self.setPixmap(self.myPixmap)
self.last = None
def mouseMoveEvent(self, event):
if self.last:
self.painter.setPen(self.pen)
self.painter.drawLine(self.last, event.pos())
self.last = event.pos()
self.setPixmap(self.myPixmap)
self.update()
def mousePressEvent(self, event):
self.last = event.pos()
def mouseReleaseEvent(self, event):
self.last = None
Открытие файла:
def openFile(self):
openFile_file = QFileDialog.getOpenFileName(None, 'Open File:', '', 'Images (*.png *.bmp *.jpg)')
openFile_ok = self.canvas.myPixmap.load(openFile_file[0])
self.canvas.setPixmap(self.canvas.myPixmap)
self.canvas.update()
print('open', openFile_ok)