Ich habe einen Button, welcher selbstverständlich eine Funktion zugeordnet ist, diese Funktion wird auch erfolgreich ausgeführt, nur leider kriegt der Anwender davon (erstmal) nichts mit, der Button hat nämlich kein Visuelles Feedback beim Klicken, meine Frage daher:
Wie kriege ich es hin, dass der Button sich bei klicken bewegt, kurz eingedrückt wird oder ähnliches?
Ich benutze einen QtWidgets.QPushButton von pyQT5.
Danke im Voraus für die Hilfe!
Visuelles Feedback beim Klicken eines Buttons
Code: Alles auswählen
def __init__(self, parent=None, adminMode=False):
super(MainView, self).__init__(parent)
settings_area = QtWidgets.QScrollArea(self)
settings_area.setWidgetResizable(True)
settings_area.setFrameShape(QtWidgets.QFrame.NoFrame)
settings_layout = QtWidgets.QGridLayout()
settings_area_inner = QtWidgets.QFrame(settings_area)
settings_area_inner.setFrameShape(QtWidgets.QFrame.NoFrame)
settings_area_inner.setLayout(settings_layout)
settings_area.setWidget(settings_area_inner)
top_level_layout = QtWidgets.QGridLayout(self)
top_level_layout.addWidget(settings_area)
copy_button = QtWidgets.QPushButton("text")
top_level_layout.addWidget(copy_button)
copy_button.pressed.connect(
lambda: Qt.QApplication.clipboard().setText(
json.dumps(self.obtainSettings()[0], indent=4)
)
Ich weiß nicht woher das kommt, aber der Button, der durch den oben gezeigten Code erstellt wir, sieht so aus
Das sieht in der Tat nicht besonders aufwändig aus. Wobei es ja auch nicht dem normalen Styling von Buttons entspricht. Woher kommt der Style?
Und auf den Verdacht hin, dass es eben doch die Operation ist, kannst du die ja mal durch ein simples Print ersetzen, um einen Einfluss auszuschließen.
Und auf den Verdacht hin, dass es eben doch die Operation ist, kannst du die ja mal durch ein simples Print ersetzen, um einen Einfluss auszuschließen.
Ich habe tatsächlich ein bisschen tiefer im Verzeichnis ein style.css gefunden, in dem die styles der einzelnen Komponenten dargelegt sind, das für Buttons sieht wie folgt aus:
QPushButton{
background-color: rgb(255, 170, 0);
border-radius: 8px;
border: 2px solid rgb(255, 170, 0);
font-size: 14px;
padding: .25em;
height: 16px;
}
Weiß jemand wie der Button ein visuelles Feedback beim Klicken bekommen kann? Ich weiß ehrlich gesagt nicht genau wie man so etwas nennt, der Button sollte beim klicken kurz eingedrückt und dann wieder nach oben kommen, wie ein üblicher Button eben. Als Alternative habe ich mir gedacht den Text des Buttons beim Klicken zu verändern, das ist aber keine schöne Lösung
QPushButton{
background-color: rgb(255, 170, 0);
border-radius: 8px;
border: 2px solid rgb(255, 170, 0);
font-size: 14px;
padding: .25em;
height: 16px;
}
Weiß jemand wie der Button ein visuelles Feedback beim Klicken bekommen kann? Ich weiß ehrlich gesagt nicht genau wie man so etwas nennt, der Button sollte beim klicken kurz eingedrückt und dann wieder nach oben kommen, wie ein üblicher Button eben. Als Alternative habe ich mir gedacht den Text des Buttons beim Klicken zu verändern, das ist aber keine schöne Lösung
Das sollte alles in der Qt Dokumentation beschrieben sein. Siehe zb hier: https://stackoverflow.com/questions/191 ... lesheet-qt