Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. QPushbutton con progressbar o QProgressbar con evento on_click
Forum Updated to NodeBB v4.3 + New Features

QPushbutton con progressbar o QProgressbar con evento on_click

Scheduled Pinned Locked Moved Solved Italian
6 Posts 2 Posters 1.8k 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.
  • ValerioV Offline
    ValerioV Offline
    Valerio
    wrote on last edited by
    #1

    Buongiorno a tutti.
    In una mia applicazione mi occorre una delle seguenti opzioni:
    a) un pulsante che possa colorarsi come una progressbar;
    b) Una QProgressbar che possa accettare il click del mouse.

    Qualcuno ha una soluzione da propormi prima che inizi a cercare di inventare l'acqua calda?

    Grazie a tutti
    Valerio.

    1 Reply Last reply
    0
    • ValerioV Offline
      ValerioV Offline
      Valerio
      wrote on last edited by
      #2

      Propongo una soluzione semplice.
      Posso settare lo stile nel seguente modo:

      ui->pushButton_2->setStyleSheet("background: QLinearGradient(x1: 0, y1: 1, x2: 1, y2: 1, stop: 0.0 #0f0, stop: 0.05 #fff, stop: 1.0 #fff);");
      

      Cambiando il valore intermedio (stop: 0.05 #fff) cambiando il valore decimale da 0 a 100 come per una progressbar.

      1 Reply Last reply
      0
      • VRoninV Offline
        VRoninV Offline
        VRonin
        wrote on last edited by
        #3

        a) reimplementa paintEvent di QPushButton, riempi una QStyleOptionProgressBar e usa disegna il controllo
        b) reiplementa mouseReleaseEvent e emetti un signal

        "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
        ~Napoleon Bonaparte

        On a crusade to banish setIndexWidget() from the holy land of Qt

        1 Reply Last reply
        0
        • ValerioV Offline
          ValerioV Offline
          Valerio
          wrote on last edited by
          #4

          Perfetto.
          Ora dovrò capire come fare ma sapendo cosa cercare sarà più facile :D
          Grazie... ;)

          1 Reply Last reply
          0
          • VRoninV Offline
            VRoninV Offline
            VRonin
            wrote on last edited by
            #5

            a) praticamente devi copiare all'interno del tuo paintevent il paintevent di QProgressBar. Il problema e' che quello che fa initStyleOption tu lo devi fare a mano
            b) molto piu' facile da fare ma probabilmente devi comunque smanettare un po' con paintevent per cambiare l'aspetto della progressbar quando ci clicchi su

            "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
            ~Napoleon Bonaparte

            On a crusade to banish setIndexWidget() from the holy land of Qt

            1 Reply Last reply
            0
            • ValerioV Offline
              ValerioV Offline
              Valerio
              wrote on last edited by
              #6

              Perfetto.
              Per ora penso che terrò buona l'idea di cambiare solo il gradiente del QPushButton poiché è più veloce e mi permette di andare avanti con il programma. Purtroppo ho i tempi un po' stretti e devo dare qualcosa di visibile. La tua soluzione la applicherò in una eventuale seconda release.

              Grazie mille per l'aiuto.

              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