Как сделать, чтобы текст исчез по нажатию на окно?(pyqt5)
Надо, чтобы при нажатии на окно в любую область, исчезал текст. Как правильно это сделать?
from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout, QPushButton,
QLabel
from PyQt5.QtCore import Qt
class Widget(QWidget):
def __init__(self):
super().__init__()
self.setWindowFlags(Qt.FramelessWindowHint)
self._old_pos = None
layout = QVBoxLayout()
layout.addStretch()
layout.addWidget(QPushButton("Закрыть окно", clicked=self.close))
self.setLayout(layout)
self.lbl = QLabel(self)
self.lbl.setText("text")
self.lbl.resize(30,30)
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
self._old_pos = event.pos()
def mouseReleaseEvent(self, event):
if event.button() == Qt.LeftButton:
self._old_pos = None
def mouseMoveEvent(self, event):
if not self._old_pos:
return
delta = event.pos() - self._old_pos
self.move(self.pos() + delta)
if __name__ == '__main__':
app = QApplication([])
w = Widget()
w.resize(400, 400)
w.show()
app.exec()
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Добавьте self.lbl.clear() в методе mousePressEvent
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
self._old_pos = event.pos()
self.lbl.clear() # <<---