Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Sending struct to QDialog
Forum Updated to NodeBB v4.3 + New Features

Sending struct to QDialog

Scheduled Pinned Locked Moved Solved General and Desktop
17 Posts 4 Posters 984 Views 2 Watching
  • 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.
  • R Offline
    R Offline
    RainyDays
    wrote on last edited by
    #1

    Hello!

    If i want to move data from QMainWindow and a QDialog. Is it possible to do this with a struct?

    The purpose for it is to set values and enable or disable visibility on items in the QDialog depending on the data loaded in the QMainWindow.

    Christian EhrlicherC 1 Reply Last reply
    0
    • R RainyDays

      Hello!

      If i want to move data from QMainWindow and a QDialog. Is it possible to do this with a struct?

      The purpose for it is to set values and enable or disable visibility on items in the QDialog depending on the data loaded in the QMainWindow.

      Christian EhrlicherC Online
      Christian EhrlicherC Online
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on last edited by Christian Ehrlicher
      #2

      @RainyDays said in Sending struct to QDialog:

      Is it possible to do this with a struct?

      Yes, it is because Qt is just a c++ library.

      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
      Visit the Qt Academy at https://academy.qt.io/catalog

      1 Reply Last reply
      1
      • R Offline
        R Offline
        RainyDays
        wrote on last edited by
        #3

        How would the setup be?

        I define a struct in both the MainWindow and the Dialog.

        typedef struct
            {
                bool Condition1;        
                bool Condition2;        
                bool Condition3;
                QString String1;
                QString String2;
                QString String3;
        }
        DialogStruct;
        
        Q_DECLARE_METATYPE(DialogStruct);
        

        Then create one empty

            Struct DialogStruct;
        

        Fill it with data

        DataToDialog.String1 = "";
        DataToDialog.String2 = "";
        DataToDialog.String3 = "";
        DataToDialog.Condition1 = true;
        DataToDialog.Condition2 = true;
        DataToDialog.Condition3 = true;
        

        Then i want to send

        DataToDialog
        

        To the dialogs struct. How do i do this?

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Hi,

          One possibility:

          MyDialog myDialog;
          myDialog.setStructure(myStructure);
          myDialog.exec();
          

          A different one:

          MyDialog myDialog(myStructure);
          myDialog.exec();
          

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          R 1 Reply Last reply
          1
          • SGaistS SGaist

            Hi,

            One possibility:

            MyDialog myDialog;
            myDialog.setStructure(myStructure);
            myDialog.exec();
            

            A different one:

            MyDialog myDialog(myStructure);
            myDialog.exec();
            
            R Offline
            R Offline
            RainyDays
            wrote on last edited by
            #5

            @SGaist said in Sending struct to QDialog:

            Hi,

            One possibility:

            MyDialog myDialog;
            myDialog.setStructure(myStructure);
            myDialog.exec();
            

            A different one:

            MyDialog myDialog(myStructure);
            myDialog.exec();
            

            I seem to be able to create them in Main and Dialog. Also use them to point data to their contents but it complains when i want to point the data towards the dialog?

            Christian EhrlicherC 1 Reply Last reply
            0
            • R RainyDays

              @SGaist said in Sending struct to QDialog:

              Hi,

              One possibility:

              MyDialog myDialog;
              myDialog.setStructure(myStructure);
              myDialog.exec();
              

              A different one:

              MyDialog myDialog(myStructure);
              myDialog.exec();
              

              I seem to be able to create them in Main and Dialog. Also use them to point data to their contents but it complains when i want to point the data towards the dialog?

              Christian EhrlicherC Online
              Christian EhrlicherC Online
              Christian Ehrlicher
              Lifetime Qt Champion
              wrote on last edited by
              #6

              @RainyDays said in Sending struct to QDialog:

              but it complains when i want to point the data towards the dialog?

              What does this mean?

              Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
              Visit the Qt Academy at https://academy.qt.io/catalog

              R 1 Reply Last reply
              0
              • Christian EhrlicherC Christian Ehrlicher

                @RainyDays said in Sending struct to QDialog:

                but it complains when i want to point the data towards the dialog?

                What does this mean?

                R Offline
                R Offline
                RainyDays
                wrote on last edited by
                #7

                @Christian-Ehrlicher said in Sending struct to QDialog:

                @RainyDays said in Sending struct to QDialog:

                but it complains when i want to point the data towards the dialog?

                What does this mean?

                "No viable conversion from Mainstruct to Dialogstruct"

                Where Mainstruct is a struct in the MainWindow and Dialogstruct is a struct in the DialogWindow.

                Both are set up like this

                typedef struct
                    {
                        bool Condition1;        
                        bool Condition2;        
                        bool Condition3;
                        QString String1;
                        QString String2;
                        QString String3;
                }
                
                Christian EhrlicherC 1 Reply Last reply
                0
                • R RainyDays

                  @Christian-Ehrlicher said in Sending struct to QDialog:

                  @RainyDays said in Sending struct to QDialog:

                  but it complains when i want to point the data towards the dialog?

                  What does this mean?

                  "No viable conversion from Mainstruct to Dialogstruct"

                  Where Mainstruct is a struct in the MainWindow and Dialogstruct is a struct in the DialogWindow.

                  Both are set up like this

                  typedef struct
                      {
                          bool Condition1;        
                          bool Condition2;        
                          bool Condition3;
                          QString String1;
                          QString String2;
                          QString String3;
                  }
                  
                  Christian EhrlicherC Online
                  Christian EhrlicherC Online
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on last edited by
                  #8

                  @RainyDays said in Sending struct to QDialog:

                  Both are set up like this

                  Which is wrong - you need one struct definition.

                  You really should start with the basics of c(++) before fiddling around with Qt.

                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                  Visit the Qt Academy at https://academy.qt.io/catalog

                  R 1 Reply Last reply
                  1
                  • Christian EhrlicherC Christian Ehrlicher

                    @RainyDays said in Sending struct to QDialog:

                    Both are set up like this

                    Which is wrong - you need one struct definition.

                    You really should start with the basics of c(++) before fiddling around with Qt.

                    R Offline
                    R Offline
                    RainyDays
                    wrote on last edited by
                    #9

                    @Christian-Ehrlicher

                    Informative, well chosen.
                    I hear QT is a mysterious device that could be dangerous for those who have not chosen the right path from the beginning.
                    Thanks for the warning :)

                    Christian EhrlicherC 1 Reply Last reply
                    0
                    • R RainyDays

                      @Christian-Ehrlicher

                      Informative, well chosen.
                      I hear QT is a mysterious device that could be dangerous for those who have not chosen the right path from the beginning.
                      Thanks for the warning :)

                      Christian EhrlicherC Online
                      Christian EhrlicherC Online
                      Christian Ehrlicher
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      @RainyDays said in Sending struct to QDialog:

                      I hear QT is a mysterious device that could be dangerous for those who have not chosen the right path from the beginning.

                      If you think... but i only said that at least basic c++ knowledge is needed since Qt is a c++ library.

                      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                      Visit the Qt Academy at https://academy.qt.io/catalog

                      R 1 Reply Last reply
                      0
                      • Christian EhrlicherC Christian Ehrlicher

                        @RainyDays said in Sending struct to QDialog:

                        I hear QT is a mysterious device that could be dangerous for those who have not chosen the right path from the beginning.

                        If you think... but i only said that at least basic c++ knowledge is needed since Qt is a c++ library.

                        R Offline
                        R Offline
                        RainyDays
                        wrote on last edited by
                        #11

                        @Christian-Ehrlicher
                        The first time is always the hardest time and for me this was too many years ago :)
                        Takes a while to get the engine running again!
                        But why stop when you reach an obstacle? Just ask for a friendly helping hand?

                        I´m really sure though i need to define the structs in each of the header files.
                        Otherwise the dialog does not know what it´s struct is...right?

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          One single definition.

                          Put that in a different header that both can include.

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          R 1 Reply Last reply
                          1
                          • SGaistS SGaist

                            One single definition.

                            Put that in a different header that both can include.

                            R Offline
                            R Offline
                            RainyDays
                            wrote on last edited by
                            #13

                            @SGaist

                            Ok, so any change in the struct will affect both with no mismatch of data?

                            1 Reply Last reply
                            1
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #14

                              That's the goal: one single source of truth.

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              JonBJ R 2 Replies Last reply
                              0
                              • SGaistS SGaist

                                That's the goal: one single source of truth.

                                JonBJ Online
                                JonBJ Online
                                JonB
                                wrote on last edited by
                                #15

                                @SGaist
                                I didn't realize C structs could have religious overtones ;-)

                                R 1 Reply Last reply
                                0
                                • JonBJ JonB

                                  @SGaist
                                  I didn't realize C structs could have religious overtones ;-)

                                  R Offline
                                  R Offline
                                  RainyDays
                                  wrote on last edited by RainyDays
                                  #16

                                  @JonB
                                  It does, in PLC programming it stands for order in chaos.
                                  A minimalistic well sorted complex data structure applicable to many objects with the same type of in and outputs.

                                  1 Reply Last reply
                                  0
                                  • SGaistS SGaist

                                    That's the goal: one single source of truth.

                                    R Offline
                                    R Offline
                                    RainyDays
                                    wrote on last edited by
                                    #17

                                    @SGaist

                                    It works now by the way :)
                                    Thanks for hanging around!

                                    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