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 7.7k 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 Offline
    J Offline
    Jakobm789
    wrote on last edited by
    #1

    Guten Tag mal wieder,

    also ich habe eine Grafik in meinem Programm, die sich durch betätigen 4 übereinanderliegenden Buttons in die Richtung von diesen ausrichtet. Jetzt ist nur das jeweilige klicken nicht so schön und ich hätte gerne, dass sich die Grafik auch ausrichtet wenn ich einen der Buttons klicke und dann über die anderen mit der Maus fahre. Ist das in irgendeiner Form möglich?

    Vielen Dank für eure Hilfe!

    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 Jakobm789

        Guten Tag mal wieder,

        also ich habe eine Grafik in meinem Programm, die sich durch betätigen 4 übereinanderliegenden Buttons in die Richtung von diesen ausrichtet. Jetzt ist nur das jeweilige klicken nicht so schön und ich hätte gerne, dass sich die Grafik auch ausrichtet wenn ich einen der Buttons klicke und dann über die anderen mit der Maus fahre. Ist das in irgendeiner Form möglich?

        Vielen Dank für eure Hilfe!

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

        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


        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
        2
        • 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 Offline
                      jsulmJ Offline
                      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 Offline
                          jsulmJ Offline
                          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 Offline
                              jsulmJ Offline
                              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 Offline
                                  jsulmJ Offline
                                  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 Offline
                                      jsulmJ Offline
                                      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

                                            • Login

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