Хотя @reclosedev уже прокомментировал ваш вопрос со ссылкой на пример C ++ для аспекта кнопки очистки, я хотел бы добавить информацию о вашем втором вопросе ...
Вы можете создать кликабельный QLabel, перегрузив MousePressEvent и испустив собственный сигнал.
из PyQt4.QtCore import pyqtSignal
из PyQt4.QtGui импорт QLabel, QStyle
class ClickLabel(QLabel):
clicked = pyqtSignal()
def __init__(self, *args, **kwargs)
super(ClickLabel, self).__init__(*args, **kwargs)
def mousePressEvent(self, event):
event.accept()
self.clicked.emit()
Комментарий к ссылке на C ++, предоставленный в другом комментарии. Вместо того чтобы использовать HBoxLayout, они просто устанавливают родительскую кнопку в виджете QLabel и используют resizeEvent, чтобы всегда перемещать ее в правую часть QLabel.