Hover over QPushButton
-
@Jakobm789 Then change it to
QWidget::enterEvent(e);
-
@Jakobm789 Derived from QPushButton and implement it there and then use this instead of QPushButton.
-
@Jakobm789 Ist der Link von @J-Hilk nicht so ein Beispiel?
-
@jsulm Irgendwo schon, aber da wird ja einfach ein großer Button als Hintergrund quasi genutzt, ich habe in meiner UI 4 Buttons die jeweils unterschiedliche Funktionen auslösen sollen. Ich steig nicht durch wie ich das auf meinen Fall anwenden soll, ich bekomme auch einfach einen großen Button als Hintergrund und es wird immer gezählt wenn ich über diesen hovere.
-
@Jakobm789 said in Hover over QPushButton:
ich habe in meiner UI 4 Buttons die jeweils unterschiedliche Funktionen auslösen sollen
Ich verstehe das Problem nicht: implementiere deinen eigenen Button (abgeleitet von QPushButton) und benutze diesen so oft wie du willst genau so wie du QPushButton benutzen würdest. Was genau ist das Problem?
-
@Jakobm789 ok hier steige ich nochmal ein...
ein paar Fragen die zu klären sind:
- Hast du eine Klasse (.h & .cpp) in deinem Projekt, das ein abgeleiteter QPushButton ist?
- wie erstellst du diese 4 Buttons ? Über den Designer, über quell code?
- QuellCode von dir, wie es aussieht währe sehr, sehr hilfreich! Die Kristallkugel gibt nur bedingt viel Auskunft.
-
@J-Hilk Zu erstens: Ich versuche mich grade daran, hatte das Beispiel komplett missverstanden.
Zu zweitens: die 4 Buttons habe ich im GUI Designer erstellt.
Und zu drittens: Wenn ich es nicht hinbekomme gucke ich mal, dass ich meinen Code hier reinschicke.Danke für eure Hilfe!
-
@Jakobm789 So jetzt funktioniert das ausgeben über den qDebug genau wie es soll. Jetzt noch eine Frage dazu: bekomme ich irgendwie übergeben, dass genau der Button mit dem Namen unter der Maus ist?
Vielen Dank für eure Geduld ihr habt mir echt weitergeholfen!
-
@Jakobm789 ok, da du deine Buttons mittels Designer gemacht hast, musst du diese "Promoten" zu der neuen unterklasse.
hier ist die offizielle Anleitung, wie man sowas macht:
https://doc.qt.io/archives/qt-4.8/designer-using-custom-widgets.html#promoting-widgetsanscheinend ist diese Erklärung aus der Qt5 Doku rausgenommen worden 🤔 oder ich finde es zumindest nicht. Ist aber weiterhin so gültig!
-
-
@Christian-Ehrlicher Okay soweit verstanden(hoffentlich), Danke! Jetzt nochmal zurück zu meiner Frage: Kann ich irgendwie in dem Hoverevent einen Returnwert unterbringen oder sonst irgendwie in der Hauptkasse abfragen ob gehovert ist? Sonst bring der Ganze Krims Krams ja nichts , oder?
-
@Jakobm789 said in Hover over QPushButton:
Kann ich irgendwie in dem Hoverevent einen Returnwert unterbringen oder sonst irgendwie in der Hauptkasse abfragen ob gehovert ist?
Du kannst doch einfach eine Membervariable im Event setzen:
void testcpp::enterEvent(QEvent *e) { QPushButton::enterEvent(e); entered = true; }
-
@Jakobm789 said in Hover over QPushButton:
Hauptcode
Was verstehst du darunter? In der selben Klasse? In einer anderen?
Ich empfehle wirklich mal ein Buch über C++ zu lesen.
-
der Qt Weg wäre über ein Signal im der CustomButton Klasse das du im "HauptCode" abfängst, habe das Beispiel mal entsprechend angepasst.
Aber die anderen haben recht. Qt ist eine "Erweiterung" ein framework für C++ Grundlegende Sachen solltest du in reinem C++ üben und verstehen.
C++ ist keine einfach Sprache zu lernen, aber sie hat eine Reihe von Vorteilen 😉, und Qt an sich legt nochmal eine Komplexitätschicht oben drauf.
Ich würde empfehlen die Beispiele die mit Qt kommen, die einfachen zumindest, dir anzuschauen und versuchen zu verstehen was gemacht wurde.