Ich unterklassiere die QAbstractButton-Klasse, um ein anklickbares Symbol zu erstellen, das auf Benutzerdateien zugreift. Ich tat dies nach diesem Tutorial hier: https://coolchevy.org.ua/2016/06/20/basic-example-how-to-code-a-image-button-in-pyqt/QAbstractButton Bild streckt sich über die gesamte Breite der Spalte
Das einzige Problem, das ich in renne, ist die QAbsractButton Größe. Ich füge es als Widget zu einem QGridLayout hinzu. Im Raster befindet es sich direkt über einer Schaltfläche mit einer größeren Breite. Das Bild nimmt die Größe der Säule und erstreckt sich, wie hier gezeigt
Gibt es eine Möglichkeit, die Größe QAbstractButton einzustellen, bevor es auf dem Bildschirm hinzugefügt wird? Ich habe versucht .setMaximumWidth, aber es hat nicht die Methode. Vielen Dank!
aktualisieren w/code
def init_ui(self):
self.settings_button=QPushButton("Email settings")
self.templates_button=TemplateButton(QPixmap('templates.png'))
self.layout.addWidget(self.templates_button,0,4)
self.layout.addWidget(self.settings_button,1,4)`
class TemplateButton(QAbstractButton):
def __init__(self,pixmap):
super(TemplateButton, self).__init__()
self.pixmap = pixmap
def paintEvent(self, event):
pix = self.pixmap
if self.isDown():
print("Click")
painter = QPainter(self)
painter.drawPixmap(event.rect(), pix)
def enterEvent(self, event):
self.update()
def leaveEvent(self, event):
self.update()
def sizeHint(self):
return QSize(50,50)
Zeigen Sie Ihren Code bitte – eyllanesc
@eyllanesc Ich habe es mit dem entsprechenden Code aktualisiert. –