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. Reloading certain widgets present on stacked widgets after pressing buttons
Forum Updated to NodeBB v4.3 + New Features

Reloading certain widgets present on stacked widgets after pressing buttons

Scheduled Pinned Locked Moved Solved General and Desktop
13 Posts 3 Posters 1.0k 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.
  • Thank YouT Offline
    Thank YouT Offline
    Thank You
    wrote on last edited by
    #1

    There is stacked Widget named "mainApp" which has 3 widgets promoted to different custom widgets
    page1->readData
    page2->writeData
    page3->viewData
    On above data the names on left side is page name and names on right side is "custom Widget"

    I have certain buttons namely read , write and view
    All the information are fetched from database
    this is just example

    Respective buttons are connected with respective widgets

    So question is when going from one widget to another widget I want to reload whole page

    void mainwindow::on_read_clicked(){
    ui->mainApp->setCurrentIndex(0);
    // I guess something should be added here
    }
    
    void mainwindow::on_write_clicked(){
    ui->mainApp->setCurrentIndex(1);
    }
    void mainwindow::on_view_clicked(){
    ui->mainApp->setCurrentIndex(2);
    }
    

    So How to reload that specific widget when buttons are clicked;

    Let's make QT free or It will go forever

    TRUE AND FALSE <3

    jsulmJ 1 Reply Last reply
    0
    • Thank YouT Thank You

      @jsulm Is there any method to reload whole widget??
      Like as of calling constructor

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

      @Thank-You said in Reloading certain widgets present on stacked widgets after pressing buttons:

      Is there any method to reload whole widget??

      If I understood you correctly you want to add data from database to your widget which was added to the database previously in another page, right? So, you do not reload the widget, you add data to it. Also, you should mention what widget that is and how you fill it with data. There is no magic, you have to read the database and add the data to the widget.

      If you want to do it properly then please read https://doc.qt.io/qt-5/model-view-programming.html and check the examples.

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

      1 Reply Last reply
      2
      • Thank YouT Thank You

        There is stacked Widget named "mainApp" which has 3 widgets promoted to different custom widgets
        page1->readData
        page2->writeData
        page3->viewData
        On above data the names on left side is page name and names on right side is "custom Widget"

        I have certain buttons namely read , write and view
        All the information are fetched from database
        this is just example

        Respective buttons are connected with respective widgets

        So question is when going from one widget to another widget I want to reload whole page

        void mainwindow::on_read_clicked(){
        ui->mainApp->setCurrentIndex(0);
        // I guess something should be added here
        }
        
        void mainwindow::on_write_clicked(){
        ui->mainApp->setCurrentIndex(1);
        }
        void mainwindow::on_view_clicked(){
        ui->mainApp->setCurrentIndex(2);
        }
        

        So How to reload that specific widget when buttons are clicked;

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

        @Thank-You said in Reloading certain widgets present on stacked widgets after pressing buttons:

        I want to reload whole page

        What does "reload" mean here?
        What exactly do you want to reload?

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

        Thank YouT 2 Replies Last reply
        0
        • jsulmJ jsulm

          @Thank-You said in Reloading certain widgets present on stacked widgets after pressing buttons:

          I want to reload whole page

          What does "reload" mean here?
          What exactly do you want to reload?

          Thank YouT Offline
          Thank YouT Offline
          Thank You
          wrote on last edited by
          #3

          @jsulm I want to reload whole ui
          From example
          I want to reload whole readData widget

          Let's make QT free or It will go forever

          TRUE AND FALSE <3

          1 Reply Last reply
          0
          • jsulmJ jsulm

            @Thank-You said in Reloading certain widgets present on stacked widgets after pressing buttons:

            I want to reload whole page

            What does "reload" mean here?
            What exactly do you want to reload?

            Thank YouT Offline
            Thank YouT Offline
            Thank You
            wrote on last edited by
            #4

            @jsulm Can I reload some functions only??

            Let's make QT free or It will go forever

            TRUE AND FALSE <3

            jsulmJ 1 Reply Last reply
            0
            • Thank YouT Thank You

              @jsulm Can I reload some functions only??

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

              @Thank-You I still don't understand what you want to reload and why.
              Why is it not enough to simply show the page?
              "Can I reload some functions only??" - what functions? Can you please explain your use case?

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

              Thank YouT 1 Reply Last reply
              0
              • jsulmJ jsulm

                @Thank-You I still don't understand what you want to reload and why.
                Why is it not enough to simply show the page?
                "Can I reload some functions only??" - what functions? Can you please explain your use case?

                Thank YouT Offline
                Thank YouT Offline
                Thank You
                wrote on last edited by
                #6

                @jsulm

                I have a database in folder.

                in writeData we can add new user
                and in viewData we can view added user

                So main problem is
                when I add new user from writeData and go to viewData
                the new user is not shown at that time.
                But when I reopen the application that user is shown

                So I guess you will understand "What I want to do here"??

                If you did not understand please ask me one more time

                Let's make QT free or It will go forever

                TRUE AND FALSE <3

                jsulmJ 1 Reply Last reply
                0
                • Thank YouT Thank You

                  @jsulm

                  I have a database in folder.

                  in writeData we can add new user
                  and in viewData we can view added user

                  So main problem is
                  when I add new user from writeData and go to viewData
                  the new user is not shown at that time.
                  But when I reopen the application that user is shown

                  So I guess you will understand "What I want to do here"??

                  If you did not understand please ask me one more time

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

                  @Thank-You You should take a look at https://doc.qt.io/qt-5/model-view-programming.html

                  If you don't want to use the above you can still load the data (not the ui!) in https://doc.qt.io/qt-5/qwidget.html#showEvent of your pages.

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

                  Thank YouT 1 Reply Last reply
                  2
                  • jsulmJ jsulm

                    @Thank-You You should take a look at https://doc.qt.io/qt-5/model-view-programming.html

                    If you don't want to use the above you can still load the data (not the ui!) in https://doc.qt.io/qt-5/qwidget.html#showEvent of your pages.

                    Thank YouT Offline
                    Thank YouT Offline
                    Thank You
                    wrote on last edited by
                    #8

                    @jsulm I tried to use

                    ui->readData->repaint();
                    ui->readData->update(0,0,ui->readData->width() , ui->readData->height());

                    It didn't work
                    Is it wrong method

                    Let's make QT free or It will go forever

                    TRUE AND FALSE <3

                    jsulmJ 1 Reply Last reply
                    0
                    • Thank YouT Thank You

                      @jsulm I tried to use

                      ui->readData->repaint();
                      ui->readData->update(0,0,ui->readData->width() , ui->readData->height());

                      It didn't work
                      Is it wrong method

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

                      @Thank-You said in Reloading certain widgets present on stacked widgets after pressing buttons:

                      It didn't work

                      Of course it did not work! How should it? repaint/update simply retriggers a paint, it does not magically read your database.
                      You need to read the data from the database and add it to your ui, not just repainting.
                      So, fir example if you show second page and need to add data which was added on first page do

                      void mainwindow::on_view_clicked(){
                      // Read the data from the database and add it to the widgets on second page
                      ui->mainApp->setCurrentIndex(2);
                      }
                      

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

                      Thank YouT 1 Reply Last reply
                      0
                      • jsulmJ jsulm

                        @Thank-You said in Reloading certain widgets present on stacked widgets after pressing buttons:

                        It didn't work

                        Of course it did not work! How should it? repaint/update simply retriggers a paint, it does not magically read your database.
                        You need to read the data from the database and add it to your ui, not just repainting.
                        So, fir example if you show second page and need to add data which was added on first page do

                        void mainwindow::on_view_clicked(){
                        // Read the data from the database and add it to the widgets on second page
                        ui->mainApp->setCurrentIndex(2);
                        }
                        
                        Thank YouT Offline
                        Thank YouT Offline
                        Thank You
                        wrote on last edited by
                        #10

                        @jsulm Is there any method to reload whole widget??
                        Like as of calling constructor

                        Let's make QT free or It will go forever

                        TRUE AND FALSE <3

                        jsulmJ J.HilkJ 2 Replies Last reply
                        0
                        • Thank YouT Thank You

                          @jsulm Is there any method to reload whole widget??
                          Like as of calling constructor

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

                          @Thank-You said in Reloading certain widgets present on stacked widgets after pressing buttons:

                          Is there any method to reload whole widget??

                          If I understood you correctly you want to add data from database to your widget which was added to the database previously in another page, right? So, you do not reload the widget, you add data to it. Also, you should mention what widget that is and how you fill it with data. There is no magic, you have to read the database and add the data to the widget.

                          If you want to do it properly then please read https://doc.qt.io/qt-5/model-view-programming.html and check the examples.

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

                          1 Reply Last reply
                          2
                          • Thank YouT Thank You

                            @jsulm Is there any method to reload whole widget??
                            Like as of calling constructor

                            J.HilkJ Offline
                            J.HilkJ Offline
                            J.Hilk
                            Moderators
                            wrote on last edited by
                            #12

                            @Thank-You said in Reloading certain widgets present on stacked widgets after pressing buttons:

                            Is there any method to reload whole widget??
                            Like as of calling constructor

                            move everything you do in the constructor into its own function, call that function from the constructor and every time you want to "reload" your page


                            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.

                            Thank YouT 1 Reply Last reply
                            3
                            • J.HilkJ J.Hilk

                              @Thank-You said in Reloading certain widgets present on stacked widgets after pressing buttons:

                              Is there any method to reload whole widget??
                              Like as of calling constructor

                              move everything you do in the constructor into its own function, call that function from the constructor and every time you want to "reload" your page

                              Thank YouT Offline
                              Thank YouT Offline
                              Thank You
                              wrote on last edited by
                              #13

                              @J-Hilk Yes as soon as @jsulm said about filling certain data
                              I used that method
                              I created function which include all the things previously mentioned in constructor
                              and called before setting things.
                              So anyone coming here should do what @jsulm suggested using @J-Hilk method

                              Thank You

                              Let's make QT free or It will go forever

                              TRUE AND FALSE <3

                              1 Reply Last reply
                              2

                              • Login

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