Как добавить кнопку закрытия в PushButton
Возможно ли добавить кнопку закрытия во внутрь кнопки PushButton?
Пример картинку как хочу сделать прикрепил.
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Я понял вашу задумку так:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *
class ToolButton(QtWidgets.QWidget):
def __init__(self, text, path_icon, parent=None):
super(ToolButton, self).__init__(parent)
lay = QtWidgets.QVBoxLayout(self)
self.toolButton = QtWidgets.QToolButton()
self.toolButton.setIcon(QtGui.QIcon(path_icon))
self.toolButton.setIconSize(QtCore.QSize(227, 238))
label = QtWidgets.QLabel(text)
lay.addWidget(self.toolButton, 0, QtCore.Qt.AlignCenter)
lay.addWidget(label, 0, QtCore.Qt.AlignCenter)
class Widget(QtWidgets.QWidget):
def __init__(self, parent=None):
super(Widget, self).__init__(parent)
self.btn = ToolButton("btnClose", "btnClose.png")
self.btn.toolButton.clicked.connect(lambda: print('Hello "btnClose"'))
vlay = QtWidgets.QVBoxLayout(self)
vlay.addWidget(self.btn)
vlay.addStretch()
button = QPushButton('r', self.btn.toolButton, font=QFont('Webdings'))
button.setMinimumSize(38, 38)
button.setMaximumSize(38, 38)
button.setObjectName('buttonClose')
button.move(173, 30)
button.clicked.connect(lambda: print('Hello "buttonClose"'))
Style = """
#buttonClose {
border-radius: 19px;
}
#buttonClose:hover {
color: white;
background: rgb(232, 17, 35);
}
#buttonClose:pressed {
color: white;
background: rgb(165, 69, 106);
}
"""
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
app.setStyleSheet(Style)
w = Widget()
w.resize(640, 480)
w.show()
sys.exit(app.exec_())


