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 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
                                        • 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

                                          • Login

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