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. Create custom widget
Forum Updated to NodeBB v4.3 + New Features

Create custom widget

Scheduled Pinned Locked Moved Solved General and Desktop
15 Posts 3 Posters 2.2k 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.
  • T t0msk

    @mrjj

    Yes this is it, and how can I spawn it? I mean what is code for spawing it as graphics object and inserting into layout?

    mrjjM Offline
    mrjjM Offline
    mrjj
    Lifetime Qt Champion
    wrote on last edited by
    #6

    @t0msk
    Hi

    Like any c++ class.

    #include "mywidget.h"

    MyWidget * instance = new MyWidget();
    ui->somelayout->addWidget(instance );

    T 1 Reply Last reply
    1
    • mrjjM mrjj

      @t0msk
      Hi

      Like any c++ class.

      #include "mywidget.h"

      MyWidget * instance = new MyWidget();
      ui->somelayout->addWidget(instance );

      T Offline
      T Offline
      t0msk
      wrote on last edited by
      #7

      @mrjj said in Create custom widget:

      @t0msk
      Hi

      Like any c++ class.

      #include "mywidget.h"

      MyWidget * instance = new MyWidget();
      ui->somelayout->addWidget(instance );

      Thank you :)

      Student who loves C/C++

      mrjjM 1 Reply Last reply
      0
      • T t0msk

        @mrjj said in Create custom widget:

        @t0msk
        Hi

        Like any c++ class.

        #include "mywidget.h"

        MyWidget * instance = new MyWidget();
        ui->somelayout->addWidget(instance );

        Thank you :)

        mrjjM Offline
        mrjjM Offline
        mrjj
        Lifetime Qt Champion
        wrote on last edited by
        #8

        @t0msk
        Just as a note :)
        If you really plan to use 100 instances of this, then maybe
        you should use a layout inside a QScrollArea so it allows scrolling.
        A layout alone. will not give scrollbars

        T 2 Replies Last reply
        1
        • mrjjM mrjj

          @t0msk
          Just as a note :)
          If you really plan to use 100 instances of this, then maybe
          you should use a layout inside a QScrollArea so it allows scrolling.
          A layout alone. will not give scrollbars

          T Offline
          T Offline
          t0msk
          wrote on last edited by t0msk
          #9

          @mrjj said in Create custom widget:

          @t0msk
          Just as a note :)
          If you really plan to use 100 instances of this, then maybe
          you should use a layout inside a QScrollArea so it allows scrolling.
          A layout alone. will not give scrollbars

          Thanks :) Would be great if I could create folders in Forms directory :)

          Student who loves C/C++

          mrjjM 1 Reply Last reply
          0
          • mrjjM mrjj

            @t0msk
            Just as a note :)
            If you really plan to use 100 instances of this, then maybe
            you should use a layout inside a QScrollArea so it allows scrolling.
            A layout alone. will not give scrollbars

            T Offline
            T Offline
            t0msk
            wrote on last edited by
            #10

            @mrjj Can I ask you about that scroll area?

            I wanted to add widget into:

            ui->scrollAreaWidgetContents
            

            But it doesn't have a addWidget method.

            Student who loves C/C++

            1 Reply Last reply
            0
            • T t0msk

              @mrjj said in Create custom widget:

              @t0msk
              Just as a note :)
              If you really plan to use 100 instances of this, then maybe
              you should use a layout inside a QScrollArea so it allows scrolling.
              A layout alone. will not give scrollbars

              Thanks :) Would be great if I could create folders in Forms directory :)

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by
              #11

              @t0msk
              Hi
              Well you can.
              Remove the ui/cpp/h from project. (dont check the delete file checkbox)
              In the .pro file
              you can add
              FORMS += Controls/theForm.ui

              and you can put the ui file in the sub folder Controls
              and then Add the UI to the project.

              You might also need to change the
              INCLUDES +=Controls/theForm.h
              and
              SOURCES +=Controls/theForm.cpp

              for it to find the .cpp and .h

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

                @t0msk said in Create custom widget:

                ui->scrollAreaWidgetContents

                Hi
                Since you have ui. do the following.
                Place any widget inside scroll area. (like button)
                Right click besides this widget. (in scroll area)
                Choose a layout in the layout menu.
                Now delete this widget again. (the button)
                The layout will stay!
                Notice the name of the layout
                then from code
                ui->thenewlayoutname->addwidget(xx);

                T 1 Reply Last reply
                1
                • mrjjM mrjj

                  @t0msk said in Create custom widget:

                  ui->scrollAreaWidgetContents

                  Hi
                  Since you have ui. do the following.
                  Place any widget inside scroll area. (like button)
                  Right click besides this widget. (in scroll area)
                  Choose a layout in the layout menu.
                  Now delete this widget again. (the button)
                  The layout will stay!
                  Notice the name of the layout
                  then from code
                  ui->thenewlayoutname->addwidget(xx);

                  T Offline
                  T Offline
                  t0msk
                  wrote on last edited by
                  #13

                  @mrjj

                  Yea, I have it like that:
                  Screenshot_20191015_230323.png
                  It is scrollAreaWidgetContents, but if I do ui->scrollAreaWidgetContents->Add it shows only AddAction.

                  Student who loves C/C++

                  mrjjM 1 Reply Last reply
                  0
                  • T t0msk

                    @mrjj

                    Yea, I have it like that:
                    Screenshot_20191015_230323.png
                    It is scrollAreaWidgetContents, but if I do ui->scrollAreaWidgetContents->Add it shows only AddAction.

                    mrjjM Offline
                    mrjjM Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on last edited by
                    #14

                    @t0msk
                    Hi
                    Look in the layout section of the properties.
                    alt text
                    to see the name.

                    And yes, its slightly confusing as the structure is a bit flatten
                    so
                    its not
                    ui->scrollareaSomething->layout
                    but just
                    ui->verticalLayout_5->addwidget(xxx)

                    T 1 Reply Last reply
                    1
                    • mrjjM mrjj

                      @t0msk
                      Hi
                      Look in the layout section of the properties.
                      alt text
                      to see the name.

                      And yes, its slightly confusing as the structure is a bit flatten
                      so
                      its not
                      ui->scrollareaSomething->layout
                      but just
                      ui->verticalLayout_5->addwidget(xxx)

                      T Offline
                      T Offline
                      t0msk
                      wrote on last edited by
                      #15

                      @mrjj Again thank you very much!! :)

                      Student who loves C/C++

                      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