Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. Hover over QPushButton
Forum Updated to NodeBB v4.3 + New Features

Hover over QPushButton

Scheduled Pinned Locked Moved Solved German
35 Posts 4 Posters 9.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J.HilkJ J.Hilk

    Hi @Jakobm789 ,
    sicher QPushButton hat wie alle von QWidget abgeleiteten Klassen die Evente enterEvent und leaveEvent

    enterEvent() is called when the mouse enters the widget's screen space. (This excludes screen space owned by any of the widget's children.)
    leaveEvent() is called when the mouse leaves the widget's screen space. If the mouse enters a child widget it will not cause a leaveEvent().
    

    auf die kann man reagieren und entsprechenden Code ausführen

    Um an das event zu kommen kannst du entweder die function überschreiben oder nen eventFilter installieren

    J Offline
    J Offline
    Jakobm789
    wrote on last edited by
    #3

    @J-Hilk Okay, aber wie übergebe ich der Funktion genau welches Widget er prüfen soll?

    void QWidget::enterEvent(QEvent *event)
    {
        qDebug() <<"Moin";
        event->accept();
    }
    
    J.HilkJ 1 Reply Last reply
    0
    • J Jakobm789

      @J-Hilk Okay, aber wie übergebe ich der Funktion genau welches Widget er prüfen soll?

      void QWidget::enterEvent(QEvent *event)
      {
          qDebug() <<"Moin";
          event->accept();
      }
      
      J.HilkJ Offline
      J.HilkJ Offline
      J.Hilk
      Moderators
      wrote on last edited by
      #4

      @Jakobm789
      https://github.com/DeiVadder/CustomQPushButton


      Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


      Q: What's that?
      A: It's blue light.
      Q: What does it do?
      A: It turns blue.

      J 1 Reply Last reply
      1
      • J.HilkJ J.Hilk

        @Jakobm789
        https://github.com/DeiVadder/CustomQPushButton

        J Offline
        J Offline
        Jakobm789
        wrote on last edited by
        #5

        @J-Hilk Vielen Dank, nach genau so einem Beispiel habe ich gesucht. Nur noch kurz: was macht das override?

        J.HilkJ 1 Reply Last reply
        0
        • J Jakobm789

          @J-Hilk Vielen Dank, nach genau so einem Beispiel habe ich gesucht. Nur noch kurz: was macht das override?

          J.HilkJ Offline
          J.HilkJ Offline
          J.Hilk
          Moderators
          wrote on last edited by
          #6

          @Jakobm789
          https://en.cppreference.com/w/cpp/language/override

          Es zeigt, das du hier eine Funktion einer Grundklasse willentlich und bewusst überschreibst.

          Es garantiert nen compile time error, when you versuchst eine nicht virtuelle Funktion zu überschreiben und die Warnung verschwindet, das du eine Funktion shadowst


          Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


          Q: What's that?
          A: It's blue light.
          Q: What does it do?
          A: It turns blue.

          J 1 Reply Last reply
          0
          • J.HilkJ J.Hilk

            @Jakobm789
            https://en.cppreference.com/w/cpp/language/override

            Es zeigt, das du hier eine Funktion einer Grundklasse willentlich und bewusst überschreibst.

            Es garantiert nen compile time error, when you versuchst eine nicht virtuelle Funktion zu überschreiben und die Warnung verschwindet, das du eine Funktion shadowst

            J Offline
            J Offline
            Jakobm789
            wrote on last edited by
            #7

            @J-Hilk Danke!

            1 Reply Last reply
            0
            • J Offline
              J Offline
              Jakobm789
              wrote on last edited by
              #8

              @Jakobm789 Irgendwie scheine ich das nicht zu raffen:

              void testcpp::enterEvent(QEvent *e)
              {
                  myButton::enterEvent(e);
                  qDebug() <<"Moin";
              }
              

              Funktioniert so nicht...

              jsulmJ 1 Reply Last reply
              0
              • J Jakobm789

                @Jakobm789 Irgendwie scheine ich das nicht zu raffen:

                void testcpp::enterEvent(QEvent *e)
                {
                    myButton::enterEvent(e);
                    qDebug() <<"Moin";
                }
                

                Funktioniert so nicht...

                jsulmJ Online
                jsulmJ Online
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #9

                @Jakobm789 said in Hover over QPushButton:

                myButton::enterEvent(e);

                QPushButton::enterEvent(e);
                

                if base class of your class is QPushButton.
                This means you are calling the enterEvent from the base class of your class.

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                J 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @Jakobm789 said in Hover over QPushButton:

                  myButton::enterEvent(e);

                  QPushButton::enterEvent(e);
                  

                  if base class of your class is QPushButton.
                  This means you are calling the enterEvent from the base class of your class.

                  J Offline
                  J Offline
                  Jakobm789
                  wrote on last edited by
                  #10

                  @jsulm yeah, but if i do this, i have to remove the base public Qwidget and then some of my other functions dont work any longer. Or am I wrong or made a mistake?

                  jsulmJ 1 Reply Last reply
                  0
                  • J Jakobm789

                    @jsulm yeah, but if i do this, i have to remove the base public Qwidget and then some of my other functions dont work any longer. Or am I wrong or made a mistake?

                    jsulmJ Online
                    jsulmJ Online
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #11

                    @Jakobm789 Then change it to

                    QWidget::enterEvent(e);
                    

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    J 1 Reply Last reply
                    0
                    • jsulmJ jsulm

                      @Jakobm789 Then change it to

                      QWidget::enterEvent(e);
                      
                      J Offline
                      J Offline
                      Jakobm789
                      wrote on last edited by Jakobm789
                      #12

                      @jsulm Yes that works, thanks. But italways prints out when im hovering the Main Widget, how can I change this to a button or another sub widget?

                      jsulmJ 1 Reply Last reply
                      0
                      • J Jakobm789

                        @jsulm Yes that works, thanks. But italways prints out when im hovering the Main Widget, how can I change this to a button or another sub widget?

                        jsulmJ Online
                        jsulmJ Online
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #13

                        @Jakobm789 Derived from QPushButton and implement it there and then use this instead of QPushButton.

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        J 1 Reply Last reply
                        0
                        • jsulmJ jsulm

                          @Jakobm789 Derived from QPushButton and implement it there and then use this instead of QPushButton.

                          J Offline
                          J Offline
                          Jakobm789
                          wrote on last edited by
                          #14

                          @jsulm Do you maybe have an Example? I dont get it.

                          jsulmJ 1 Reply Last reply
                          0
                          • J Jakobm789

                            @jsulm Do you maybe have an Example? I dont get it.

                            jsulmJ Online
                            jsulmJ Online
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by
                            #15

                            @Jakobm789 Ist der Link von @J-Hilk nicht so ein Beispiel?

                            https://forum.qt.io/topic/113070/qt-code-of-conduct

                            J 1 Reply Last reply
                            0
                            • jsulmJ jsulm

                              @Jakobm789 Ist der Link von @J-Hilk nicht so ein Beispiel?

                              J Offline
                              J Offline
                              Jakobm789
                              wrote on last edited by
                              #16

                              @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.

                              jsulmJ J.HilkJ 2 Replies Last reply
                              0
                              • J Jakobm789

                                @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.

                                jsulmJ Online
                                jsulmJ Online
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by
                                #17

                                @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?

                                https://forum.qt.io/topic/113070/qt-code-of-conduct

                                J 1 Reply Last reply
                                0
                                • jsulmJ jsulm

                                  @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?

                                  J Offline
                                  J Offline
                                  Jakobm789
                                  wrote on last edited by
                                  #18

                                  @jsulm Ich habe nicht gerallt das ich quasi meinen eigenen Button erstellen soll. Danke! Ich versuche mich mal.

                                  1 Reply Last reply
                                  1
                                  • J Jakobm789

                                    @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.

                                    J.HilkJ Offline
                                    J.HilkJ Offline
                                    J.Hilk
                                    Moderators
                                    wrote on last edited by
                                    #19

                                    @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.

                                    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                                    Q: What's that?
                                    A: It's blue light.
                                    Q: What does it do?
                                    A: It turns blue.

                                    J 1 Reply Last reply
                                    0
                                    • J.HilkJ J.Hilk

                                      @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 Offline
                                      J Offline
                                      Jakobm789
                                      wrote on last edited by
                                      #20

                                      @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!

                                      J 1 Reply Last reply
                                      0
                                      • J Jakobm789

                                        @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!

                                        J Offline
                                        J Offline
                                        Jakobm789
                                        wrote on last edited by
                                        #21

                                        @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!

                                        J.HilkJ 1 Reply Last reply
                                        0
                                        • J Jakobm789

                                          @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!

                                          J.HilkJ Offline
                                          J.HilkJ Offline
                                          J.Hilk
                                          Moderators
                                          wrote on last edited by
                                          #22

                                          @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-widgets

                                          anscheinend ist diese Erklärung aus der Qt5 Doku rausgenommen worden 🤔 oder ich finde es zumindest nicht. Ist aber weiterhin so gültig!


                                          Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                                          Q: What's that?
                                          A: It's blue light.
                                          Q: What does it do?
                                          A: It turns blue.

                                          J 1 Reply Last reply
                                          1

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved