Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Scrivere su widget presenti su schermata di altro modulo
QtWS25 Last Chance

Scrivere su widget presenti su schermata di altro modulo

Scheduled Pinned Locked Moved Solved Italian
7 Posts 2 Posters 2.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.
  • B Offline
    B Offline
    bvox123
    wrote on last edited by
    #1

    Buongiorno.
    Non vi sarete mica preoccupati se non avevo ancora scritto, vero ? Ecco il problema di oggi.
    Ho una applicazione col suo form generato con Qt Creator che, fra altre cose, ha un pulsante per avviare una seconda classe.
    Se in questa seconda classe volessi scrivere su un widget ui della classe principale, qual è la sintassi da utilizzare ?
    Ho provato inserendo nella seconda classe un'istruzione tipo questa: PrimaClasse::ui->widgetmio->setText("xxx"); ma fa errore di compilazione per uso non valido del membro...
    Qualche idea ? Grazie.
    bvox

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

      Il design dei programmi C++ e in particolare in Qt e' a cascata cioe' se A crea B, B non sa e non deve sapere dell'esistenza di A (https://en.wikipedia.org/wiki/SOLID_(object-oriented_design))

      nel tuo caso SecondaClasse dovrebbe emettere un signal che comunica all'esterno il valore da cambiare poi PrimaClasse lo raccoglie e lo usa come vuole (chama setText() per esempio)

      "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
      • B Offline
        B Offline
        bvox123
        wrote on last edited by
        #3

        Mi sa che ho immaginato un'impostazione sbagliata.
        PrimaClasse è la classe principale col suo form ui e tanti widgets nel form. Vuoi dire che per fare in modo che altre classi per valorizzare uno di quei widgets deve fare quelle strane cose con l'uso dei connect ? Non potrei magari creare tante function all'interno di PrimaClasse ognuna per poter assegnare un valore ad un particolare widget e poi poter richiamare questa function dall'esterno ? Possibile che non ci sia un metodo più semplice, magari con l'uso di "parent" per poter ascendere alla classe principale e poi scrivere su un suo widget ?

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

          Di nuovo, tutto si puo' fare (qobject_cast<PrimaClasse>(parent()) e' un esempio) ma questo non significa che tu lo debba fare. Sul serio, nel lungo periodo quel design ti torna a colpire alle spalle. crea i sub widget che siano indipendenti in questo modo li puoi usare in contesti differenti

          "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
          • B Offline
            B Offline
            bvox123
            wrote on last edited by
            #5

            Ma io contavo di fare proprio una cosa del genere.
            Un form ui di una classe e poi tante altre classi che valorizzano in modo opportuno i widgets di quel form. Mi faresti, per favore, un esempio (o un link dove possa vederlo, possibilmente in italiano) dell'uso dei sub widgets che dici tu ? Altra cosa fuori tema: come fai a far apparire in rosso il fac-simile delle istruzioni ?

            VRoninV 1 Reply Last reply
            0
            • B bvox123

              Ma io contavo di fare proprio una cosa del genere.
              Un form ui di una classe e poi tante altre classi che valorizzano in modo opportuno i widgets di quel form. Mi faresti, per favore, un esempio (o un link dove possa vederlo, possibilmente in italiano) dell'uso dei sub widgets che dici tu ? Altra cosa fuori tema: come fai a far apparire in rosso il fac-simile delle istruzioni ?

              VRoninV Offline
              VRoninV Offline
              VRonin
              wrote on last edited by
              #6

              @bvox123 said in Scrivere su widget presenti su schermata di altro modulo:

              Mi faresti, per favore, un esempio (o un link dove possa vederlo

              http://doc.qt.io/qt-5/qtwidgets-widgets-calculator-example.html

              @bvox123 said in Scrivere su widget presenti su schermata di altro modulo:

              come fai a far apparire in rosso il fac-simile delle istruzioni ?

              e' il carattere ` non c'e' nella tastiera italiana purtroppo, e' sotto all'esc nella tastiera UK/US

              "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
              • B Offline
                B Offline
                bvox123
                wrote on last edited by
                #7

                Gentilissimo come sempre. Grazie.

                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