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. Need help passing a variable to another Form (Signals/Slots)
Forum Updated to NodeBB v4.3 + New Features

Need help passing a variable to another Form (Signals/Slots)

Scheduled Pinned Locked Moved Solved General and Desktop
25 Posts 5 Posters 4.8k Views 1 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.
  • ? A Former User

    Thank you for the answers. Gonna give it a try soon. When my MainWindow class inherites from the QMainWindow class, does it indirectly derive from the QObject class?

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by jsulm
    #5

    @SnuggleKat said in Need help passing a variable to another Form (Signals/Slots):

    When my MainWindow class inherites from the QMainWindow class, does it indirectly derive from the QObject class?

    Yes.
    You can see what a class is inherited from in the documentation: http://doc.qt.io/qt-5/qwidget.html (as QMainWindow inherits QWidget)
    See "Inherits:" column at the top.

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    2
    • ? Offline
      ? Offline
      A Former User
      wrote on last edited by A Former User
      #6

      Okay,
      inspired by this: http://doc.qt.io/qt-5/signalsandslots.html#a-small-example

      I have done the following:

      The functions.h defines a class of a QSqlDatabase and an int attribute.

      //...
      #include <QSqlDatabase>
      
      class Option: QSqlDatabase
      {
      private:
          QSqlDatabase db;
          int mode;
          
      public:
          QSqlDatabase get_db(){ return this->db; }
          int get_mode(){ return this->mode; }
          
      signals:
          void send_option(QSqlDatabase db, int mode;{ emit set_up(db, mode); }
          
      public slots:
          void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; }
      };
      

      Attempting to pass such an object over to another form by doing this:
      mainwindow.h:

      //...
      #include "functions.h"
      //...
      private:
          QSqlDatabase db;
          Option opt_main;
      

      mainwindow.cpp

      connect(&opt_main, SIGNAL(&Option::send_option), &opt_dia, SLOT(&Option::set_up));
      

      opt_dia is an object of Option. What's the best way to instantiate this option inside the dialog.h? The dialog.h has the functions.h included.

      jsulmJ 1 Reply Last reply
      0
      • ? A Former User

        Okay,
        inspired by this: http://doc.qt.io/qt-5/signalsandslots.html#a-small-example

        I have done the following:

        The functions.h defines a class of a QSqlDatabase and an int attribute.

        //...
        #include <QSqlDatabase>
        
        class Option: QSqlDatabase
        {
        private:
            QSqlDatabase db;
            int mode;
            
        public:
            QSqlDatabase get_db(){ return this->db; }
            int get_mode(){ return this->mode; }
            
        signals:
            void send_option(QSqlDatabase db, int mode;{ emit set_up(db, mode); }
            
        public slots:
            void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; }
        };
        

        Attempting to pass such an object over to another form by doing this:
        mainwindow.h:

        //...
        #include "functions.h"
        //...
        private:
            QSqlDatabase db;
            Option opt_main;
        

        mainwindow.cpp

        connect(&opt_main, SIGNAL(&Option::send_option), &opt_dia, SLOT(&Option::set_up));
        

        opt_dia is an object of Option. What's the best way to instantiate this option inside the dialog.h? The dialog.h has the functions.h included.

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #7

        @SnuggleKat said in Need help passing a variable to another Form (Signals/Slots):

        connect(&opt_main, SIGNAL(&Option::send_option), &opt_dia, SLOT(&Option::set_up));

        This is still wrong - you're mixing old and new connect syntax.
        Please read the documentation (links were already provided)..

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        ? 1 Reply Last reply
        3
        • jsulmJ jsulm

          @SnuggleKat said in Need help passing a variable to another Form (Signals/Slots):

          connect(&opt_main, SIGNAL(&Option::send_option), &opt_dia, SLOT(&Option::set_up));

          This is still wrong - you're mixing old and new connect syntax.
          Please read the documentation (links were already provided)..

          ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #8

          @jsulm said in Need help passing a variable to another Form (Signals/Slots):

          Ah, sorry, totally misseen the new syntacks lacks the SIGNAL and SLOT terms.

          QObject::connect(&opt_main, &Option::send_option, &opt_dia, &Option::set_up);
          

          Still something wrong?
          What I need to know is what'd be the best way to instantiate the opt_dia object since it's needed in another Form class

          1 Reply Last reply
          0
          • mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by mrjj
            #9

            Hi
            you also need
            class Option: QSqlDatabase
            {
            Q_OBJECT
            ...

            Q_OBJECT is needed for signals & slots.

            note, after adding it, select clean all, rebuild all to make sure its seen.

            ? 1 Reply Last reply
            1
            • mrjjM mrjj

              Hi
              you also need
              class Option: QSqlDatabase
              {
              Q_OBJECT
              ...

              Q_OBJECT is needed for signals & slots.

              note, after adding it, select clean all, rebuild all to make sure its seen.

              ? Offline
              ? Offline
              A Former User
              wrote on last edited by
              #10

              @mrjj said in Need help passing a variable to another Form (Signals/Slots):

              Hi
              you also need
              class Option: QSqlDatabase
              {
              Q_OBJECT
              ...

              Q_OBJECT is needed for signals & slots.

              note, after adding it, select clean all, rebuild all to make sure its seen.

              Hello,
              just did that.
              After this I instantiated another object of the type Option in the dialog.h:

              #include <QDialog>
              #include "functions.h"
              
              namespace Ui {
              class Dialog;
              }
              
              class Dialog : public QDialog
              {
                  Q_OBJECT
              
              public:
                  explicit Dialog(QWidget *parent = nullptr);
                  Option opt_dia; //note #1
                  ~Dialog();
              
              private:
                  Ui::Dialog *ui;
                  void load_meta();
                  int mode;
              
              private slots:
                  void on_pushButton_ok_clicked();
              };
              

              #1 - This causes an error telling me I have an semantic error on QObject::connect(). Making it static seems to solve this, but then I get the following compiling errors:

              no matching function for call to 'QObject::connectImpl(const Object*&, void**, const Object*&, void**, QtPrivate::QSlotObject<void (Option::*)(QSqlDatabase, int), QtPrivate::List<QSqlDatabase, int>, void>*, Qt::ConnectionType&, const int*&, const QMetaObject*)'
              
              invalid static_cast from type 'QObject*' to type 'QtPrivate::FunctionPointer<void (Option::*)(QSqlDatabase, int)>::Object* {aka Option*}'
              

              fyi, the Object class now looks like this:

              #include <QtSql>
              #include <QSqlDatabase>
              #include <QTableView>
              
              class Option: QSqlDatabase
              {
                  Q_OBJECT
              private:
                  QSqlDatabase db;
                  int mode;
              
              public:
                  QSqlDatabase get_db(){return this->db;}
                  Option()
                  {
                      this->db = QSqlDatabase::addDatabase("QMYSQL");
                      this->mode = 0;
                  }
                  virtual ~Option();
                  int get_mode(){return this->mode;}
              
              signals:
                  void send_option(QSqlDatabase db, int mode){ emit set_up(db, mode); }
              
              public slots:
                  void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; }
              };
              
              jsulmJ 1 Reply Last reply
              0
              • ? A Former User

                @mrjj said in Need help passing a variable to another Form (Signals/Slots):

                Hi
                you also need
                class Option: QSqlDatabase
                {
                Q_OBJECT
                ...

                Q_OBJECT is needed for signals & slots.

                note, after adding it, select clean all, rebuild all to make sure its seen.

                Hello,
                just did that.
                After this I instantiated another object of the type Option in the dialog.h:

                #include <QDialog>
                #include "functions.h"
                
                namespace Ui {
                class Dialog;
                }
                
                class Dialog : public QDialog
                {
                    Q_OBJECT
                
                public:
                    explicit Dialog(QWidget *parent = nullptr);
                    Option opt_dia; //note #1
                    ~Dialog();
                
                private:
                    Ui::Dialog *ui;
                    void load_meta();
                    int mode;
                
                private slots:
                    void on_pushButton_ok_clicked();
                };
                

                #1 - This causes an error telling me I have an semantic error on QObject::connect(). Making it static seems to solve this, but then I get the following compiling errors:

                no matching function for call to 'QObject::connectImpl(const Object*&, void**, const Object*&, void**, QtPrivate::QSlotObject<void (Option::*)(QSqlDatabase, int), QtPrivate::List<QSqlDatabase, int>, void>*, Qt::ConnectionType&, const int*&, const QMetaObject*)'
                
                invalid static_cast from type 'QObject*' to type 'QtPrivate::FunctionPointer<void (Option::*)(QSqlDatabase, int)>::Object* {aka Option*}'
                

                fyi, the Object class now looks like this:

                #include <QtSql>
                #include <QSqlDatabase>
                #include <QTableView>
                
                class Option: QSqlDatabase
                {
                    Q_OBJECT
                private:
                    QSqlDatabase db;
                    int mode;
                
                public:
                    QSqlDatabase get_db(){return this->db;}
                    Option()
                    {
                        this->db = QSqlDatabase::addDatabase("QMYSQL");
                        this->mode = 0;
                    }
                    virtual ~Option();
                    int get_mode(){return this->mode;}
                
                signals:
                    void send_option(QSqlDatabase db, int mode){ emit set_up(db, mode); }
                
                public slots:
                    void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; }
                };
                
                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #11

                @SnuggleKat said in Need help passing a variable to another Form (Signals/Slots):

                This causes an error telling me I have an semantic error on QObject::connect(). Making it static seems to solve this, but then I get the following compiling errors:

                Please show your exact connect call

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                ? 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @SnuggleKat said in Need help passing a variable to another Form (Signals/Slots):

                  This causes an error telling me I have an semantic error on QObject::connect(). Making it static seems to solve this, but then I get the following compiling errors:

                  Please show your exact connect call

                  ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #12

                  @jsulm I have found a little mistake. I accidentally assigned the emit call to the signal instead of the slot. After correcting this I tried connecting 2 instances of my class Option inside the MainWindow class which worked (I think). I still can't see an instance of Option outside the MainWindow class.

                  functions.h

                  #include <QtSql>
                  #include <QSqlDatabase>
                  #include <QTableView>
                  
                  class Option: public QObject
                  {
                      Q_OBJECT
                  private:
                      QSqlDatabase db;
                      int mode;
                  
                  public:
                      QSqlDatabase get_db(){return this->db;}
                      int get_mode(){return this->mode;}
                  
                  signals:
                      void send_option(QSqlDatabase db, int mode);
                  
                  public slots:
                      void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; emit send_option(db, mode);}
                  };
                  

                  mainwindow.h

                  //...
                  class MainWindow : public QMainWindow
                  {
                      Q_OBJECT
                  
                  public:
                      explicit MainWindow(QWidget *parent = nullptr);
                      ~MainWindow();
                  
                  private slots:
                      void on_pushButton_connect_clicked();
                      void on_pushButton_create_pdf_clicked();
                      void on_pushButton_save_settings_clicked();
                      void on_pushButton_open_clicked();
                  
                  private:
                      Ui::MainWindow *ui;
                      int create_pdf();
                      Dialog dialog;
                      QSqlDatabase db;
                      Option opt_main, testopt; //testopt was the test-instance i used
                  };
                  

                  mainwindow.cpp

                  //...
                  QObject::connect(&opt_main, &Option::send_option, &opt_dia, &Option::set_up); //opt_dia not declared in this scope
                  //...
                  void MainWindow::on_pushButton_open_clicked()
                  {
                      opt_main.send_option(db, 123);
                      dialog.setModal(true);
                      dialog.exec();
                  }
                  

                  dialog.h

                  //...
                  #include "functions.h"
                  
                  namespace Ui {
                  class Dialog;
                  }
                  
                  class Dialog : public QDialog
                  {
                      Q_OBJECT
                  
                  public:
                      explicit Dialog(QWidget *parent = nullptr);
                      //QObject* x;
                      Option opt_dia;
                      ~Dialog();
                  
                  private:
                      Ui::Dialog *ui;
                      void load_meta();
                      int mode;
                  
                  private slots:
                      void on_pushButton_ok_clicked();
                  };
                  

                  dialog.cpp

                  //...
                  void Dialog::on_pushButton_ok_clicked()
                  {
                      qDebug() << "mode: " + QString::number(opt_dia.get_mode()) + " - " + opt_dia.get_db().userName(); //testing the result
                  }
                  

                  opt_dia cannot be found since it's not declared in this scope. If I use &Dialog::opt_dia it is found but the connection will fail to compile with the following error: Fehler: no matching member function for call to 'connect'

                  jsulmJ 1 Reply Last reply
                  0
                  • ? A Former User

                    @jsulm I have found a little mistake. I accidentally assigned the emit call to the signal instead of the slot. After correcting this I tried connecting 2 instances of my class Option inside the MainWindow class which worked (I think). I still can't see an instance of Option outside the MainWindow class.

                    functions.h

                    #include <QtSql>
                    #include <QSqlDatabase>
                    #include <QTableView>
                    
                    class Option: public QObject
                    {
                        Q_OBJECT
                    private:
                        QSqlDatabase db;
                        int mode;
                    
                    public:
                        QSqlDatabase get_db(){return this->db;}
                        int get_mode(){return this->mode;}
                    
                    signals:
                        void send_option(QSqlDatabase db, int mode);
                    
                    public slots:
                        void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; emit send_option(db, mode);}
                    };
                    

                    mainwindow.h

                    //...
                    class MainWindow : public QMainWindow
                    {
                        Q_OBJECT
                    
                    public:
                        explicit MainWindow(QWidget *parent = nullptr);
                        ~MainWindow();
                    
                    private slots:
                        void on_pushButton_connect_clicked();
                        void on_pushButton_create_pdf_clicked();
                        void on_pushButton_save_settings_clicked();
                        void on_pushButton_open_clicked();
                    
                    private:
                        Ui::MainWindow *ui;
                        int create_pdf();
                        Dialog dialog;
                        QSqlDatabase db;
                        Option opt_main, testopt; //testopt was the test-instance i used
                    };
                    

                    mainwindow.cpp

                    //...
                    QObject::connect(&opt_main, &Option::send_option, &opt_dia, &Option::set_up); //opt_dia not declared in this scope
                    //...
                    void MainWindow::on_pushButton_open_clicked()
                    {
                        opt_main.send_option(db, 123);
                        dialog.setModal(true);
                        dialog.exec();
                    }
                    

                    dialog.h

                    //...
                    #include "functions.h"
                    
                    namespace Ui {
                    class Dialog;
                    }
                    
                    class Dialog : public QDialog
                    {
                        Q_OBJECT
                    
                    public:
                        explicit Dialog(QWidget *parent = nullptr);
                        //QObject* x;
                        Option opt_dia;
                        ~Dialog();
                    
                    private:
                        Ui::Dialog *ui;
                        void load_meta();
                        int mode;
                    
                    private slots:
                        void on_pushButton_ok_clicked();
                    };
                    

                    dialog.cpp

                    //...
                    void Dialog::on_pushButton_ok_clicked()
                    {
                        qDebug() << "mode: " + QString::number(opt_dia.get_mode()) + " - " + opt_dia.get_db().userName(); //testing the result
                    }
                    

                    opt_dia cannot be found since it's not declared in this scope. If I use &Dialog::opt_dia it is found but the connection will fail to compile with the following error: Fehler: no matching member function for call to 'connect'

                    jsulmJ Offline
                    jsulmJ Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #13

                    @SnuggleKat Why don't you simply define the slot inside Dialog class?
                    Exposing a member (opt_dia) as public to outside world is bad design.

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    ? 1 Reply Last reply
                    1
                    • jsulmJ jsulm

                      @SnuggleKat Why don't you simply define the slot inside Dialog class?
                      Exposing a member (opt_dia) as public to outside world is bad design.

                      ? Offline
                      ? Offline
                      A Former User
                      wrote on last edited by A Former User
                      #14

                      @jsulm said in Need help passing a variable to another Form (Signals/Slots):

                      @SnuggleKat Why don't you simply define the slot inside Dialog class?
                      Exposing a member (opt_dia) as public to outside world is bad design.

                      I'm aware it's bad design. That's why I asked what'd be the best way to instantiate it.
                      Is it the right way to access the signal through opt_dia if I define the slot inside the Dialog class?
                      And what should the connect() look like now?

                      jsulmJ 1 Reply Last reply
                      0
                      • ? A Former User

                        @jsulm said in Need help passing a variable to another Form (Signals/Slots):

                        @SnuggleKat Why don't you simply define the slot inside Dialog class?
                        Exposing a member (opt_dia) as public to outside world is bad design.

                        I'm aware it's bad design. That's why I asked what'd be the best way to instantiate it.
                        Is it the right way to access the signal through opt_dia if I define the slot inside the Dialog class?
                        And what should the connect() look like now?

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by jsulm
                        #15

                        @SnuggleKat said in Need help passing a variable to another Form (Signals/Slots):

                        When I define the slot inside the Dialog class is it the right way to access the signal through opt_dia?

                        I don't understand this - what signal do you want to access from opt_dia?
                        Connect would be:

                        connect(&opt_main, &Option::send_option, &dialog, &Dialog::set_up);
                        

                        Actually I don't see a need for signal/slot here as dialog is a member of MainWindow. set_up can be a normal method which you call like any other without emiting a signal:

                        dialog.set_up(...);
                        

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        ? 1 Reply Last reply
                        0
                        • jsulmJ jsulm

                          @SnuggleKat said in Need help passing a variable to another Form (Signals/Slots):

                          When I define the slot inside the Dialog class is it the right way to access the signal through opt_dia?

                          I don't understand this - what signal do you want to access from opt_dia?
                          Connect would be:

                          connect(&opt_main, &Option::send_option, &dialog, &Dialog::set_up);
                          

                          Actually I don't see a need for signal/slot here as dialog is a member of MainWindow. set_up can be a normal method which you call like any other without emiting a signal:

                          dialog.set_up(...);
                          
                          ? Offline
                          ? Offline
                          A Former User
                          wrote on last edited by
                          #16

                          @jsulm Sorry, I meant to ask if ithis would be the right way of doing it:

                          public slots:
                             void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; emit opt_dia.send_option(db, mode);}
                          

                          Change the connect() method as suggestion but the values don't get passed over.
                          Same for adding dialog.set_up();
                          Should I make QSqlDatabase db and int mode static?

                          jsulmJ 1 Reply Last reply
                          0
                          • ? A Former User

                            @jsulm Sorry, I meant to ask if ithis would be the right way of doing it:

                            public slots:
                               void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; emit opt_dia.send_option(db, mode);}
                            

                            Change the connect() method as suggestion but the values don't get passed over.
                            Same for adding dialog.set_up();
                            Should I make QSqlDatabase db and int mode static?

                            jsulmJ Offline
                            jsulmJ Offline
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by jsulm
                            #17

                            @SnuggleKat "Change the connect() method as suggestion but the values don't get passed over." - please show the code.
                            "Should I make QSqlDatabase db and int mode static?" - please don't! Static variables are bad design in most cases.

                            https://forum.qt.io/topic/113070/qt-code-of-conduct

                            ? 1 Reply Last reply
                            0
                            • jsulmJ jsulm

                              @SnuggleKat "Change the connect() method as suggestion but the values don't get passed over." - please show the code.
                              "Should I make QSqlDatabase db and int mode static?" - please don't! Static variables are bad design in most cases.

                              ? Offline
                              ? Offline
                              A Former User
                              wrote on last edited by
                              #18

                              @jsulm said in Need help passing a variable to another Form (Signals/Slots):

                              @SnuggleKat "Change the connect() method as suggestion but the values don't get passed over." - please show the code.
                              "Should I make QSqlDatabase db and int mode static?" - please don't! Static variables are bad design in most cases.

                              That's what I thought.

                              void MainWindow::on_pushButton_open_clicked()
                              {
                                  opt_main.send_option(db, 123);
                                  QObject::connect(&opt_main, &Option::send_option, &dialog, &Dialog::set_up);
                                  dialog.set_up(db, 123); //also tried this which didn't help either
                                  dialog.setModal(true);
                                  dialog.exec();
                              }
                              
                              jsulmJ 1 Reply Last reply
                              0
                              • ? A Former User

                                @jsulm said in Need help passing a variable to another Form (Signals/Slots):

                                @SnuggleKat "Change the connect() method as suggestion but the values don't get passed over." - please show the code.
                                "Should I make QSqlDatabase db and int mode static?" - please don't! Static variables are bad design in most cases.

                                That's what I thought.

                                void MainWindow::on_pushButton_open_clicked()
                                {
                                    opt_main.send_option(db, 123);
                                    QObject::connect(&opt_main, &Option::send_option, &dialog, &Dialog::set_up);
                                    dialog.set_up(db, 123); //also tried this which didn't help either
                                    dialog.setModal(true);
                                    dialog.exec();
                                }
                                
                                jsulmJ Offline
                                jsulmJ Offline
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by
                                #19

                                @SnuggleKat I really don't get why you use signals slots here?

                                void MainWindow::on_pushButton_open_clicked()
                                {
                                    dialog.set_up(db, 123); //also tried this which didn't help either
                                    dialog.setModal(true);
                                    dialog.exec();
                                }
                                

                                "//also tried this which didn't help either" - please show what dialog.set_up(db, 123) is doing.

                                https://forum.qt.io/topic/113070/qt-code-of-conduct

                                ? 1 Reply Last reply
                                0
                                • jsulmJ jsulm

                                  @SnuggleKat I really don't get why you use signals slots here?

                                  void MainWindow::on_pushButton_open_clicked()
                                  {
                                      dialog.set_up(db, 123); //also tried this which didn't help either
                                      dialog.setModal(true);
                                      dialog.exec();
                                  }
                                  

                                  "//also tried this which didn't help either" - please show what dialog.set_up(db, 123) is doing.

                                  ? Offline
                                  ? Offline
                                  A Former User
                                  wrote on last edited by
                                  #20

                                  @jsulm
                                  qDebug() shows me that it effectively does nothing. dialog.set_up() does not touch the object declared as opt_dia.

                                  "mode: 12141696 - "
                                  

                                  12141696 seems to be a random value.
                                  This is the qDebug() line:

                                  qDebug() << "mode: " + QString::number(opt_dia.get_mode()) + " - " + opt_dia.get_db().userName();
                                  
                                  jsulmJ 1 Reply Last reply
                                  0
                                  • ? A Former User

                                    @jsulm
                                    qDebug() shows me that it effectively does nothing. dialog.set_up() does not touch the object declared as opt_dia.

                                    "mode: 12141696 - "
                                    

                                    12141696 seems to be a random value.
                                    This is the qDebug() line:

                                    qDebug() << "mode: " + QString::number(opt_dia.get_mode()) + " - " + opt_dia.get_db().userName();
                                    
                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #21

                                    @SnuggleKat Can you show the content of dialog.set_up(...)?

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    ? 1 Reply Last reply
                                    0
                                    • jsulmJ jsulm

                                      @SnuggleKat Can you show the content of dialog.set_up(...)?

                                      ? Offline
                                      ? Offline
                                      A Former User
                                      wrote on last edited by
                                      #22

                                      @jsulm Do you mean this?

                                      public slots:
                                         void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; emit opt_dia.send_option(db, mode);}
                                      
                                      jsulmJ 1 Reply Last reply
                                      0
                                      • ? A Former User

                                        @jsulm Do you mean this?

                                        public slots:
                                           void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; emit opt_dia.send_option(db, mode);}
                                        
                                        jsulmJ Offline
                                        jsulmJ Offline
                                        jsulm
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #23

                                        @SnuggleKat set_up(

                                        public slots:
                                           void set_up(QSqlDatabase db, int mode){ this->db = db; this->mode = mode; opt_dia.set_up(db, mode); }
                                        

                                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                                        ? 1 Reply Last reply
                                        0
                                        • J.HilkJ Offline
                                          J.HilkJ Offline
                                          J.Hilk
                                          Moderators
                                          wrote on last edited by J.Hilk
                                          #24

                                          I admit, I'm a little bit out of my field here, but can you simply reassign a QSqlDatabase in that way?

                                          I usually pass a QSqlDatabase-pointer between classes.


                                          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.

                                          1 Reply Last reply
                                          1

                                          • Login

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