Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct

    How to support :pressed state of style sheet for custom widget ?

    General and Desktop
    2
    3
    2329
    Loading More Posts
    • 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.
    • A
      andamedanda last edited by

      What i have :-
      I have a custom widget which extends QFrame (instead of QWidget as QFrame already has a working paintEvent implementation). I have overridden the mousePressed() and mouseReleased() to emit the pressed() released() and clicked() Signals. Everything upto this point is woring fine as expected.

      What i need :-
      This custom widget is having basic style sheet support and it supports the :hover state just fine.
      But the :pressed state is not working. I have already figured out that this is bcoz its not supported by QFrame/QLabel etc.
      I wish to know what do i need to do in order to support the :pressed state.
      Should i set some attribute / property on pressed and released OR anything else ?

      1 Reply Last reply Reply Quote 0
      • raven-worx
        raven-worx Moderators last edited by

        AFAIK this it's not possible to use pseudo states (and sub-controls) with custom widgets (except the one which are supported by the base class).

        But you can set a custom dynamic property and check for it in the stylesheet:
        @
        void MyWidget::mousePressEvent(...)
        {
        this->setProperty("pressed", true);
        this->style()->polish(this);
        }
        void MyWidget::mouseReleaseEvent(...)
        {
        this->setProperty("pressed", false);
        this->style()->polish(this);
        }
        @

        in the stylesheet:
        @
        MyWidget[pressed="true"]
        {
        ...
        }
        @

        --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
        If you have a question please use the forum so others can benefit from the solution in the future

        1 Reply Last reply Reply Quote 0
        • A
          andamedanda last edited by

          Thanks raven,
          I was expecting a standard property or attribute which pertains to the state. But i guess there is not, This does the job :)

          1 Reply Last reply Reply Quote 0
          • First post
            Last post