Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. How to make tabs expanding???
Forum Updated to NodeBB v4.3 + New Features

How to make tabs expanding???

Scheduled Pinned Locked Moved Mobile and Embedded
32 Posts 3 Posters 24.5k 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.
  • EddyE Offline
    EddyE Offline
    Eddy
    wrote on last edited by
    #9

    What device are you using? what target do you use on Qt Creator?

    Qt Certified Specialist
    www.edalsolutions.be

    1 Reply Last reply
    0
    • A Offline
      A Offline
      alfah
      wrote on last edited by
      #10

      Im using a C7, and wat do you mean by target on Qt Creator? :(

      1 Reply Last reply
      0
      • EddyE Offline
        EddyE Offline
        Eddy
        wrote on last edited by
        #11

        So it's Symbian^3. That's what you use in the project settings in Qt Creator or choosing as template when starting your project.

        Could you make a new Symbian^3 based project use a QWidget instead of a QMainWindow and apply a QTabWidget on it with your stylesheet? I want to diagnose when this occurs and maybe QMainWindow has to follow some styling rules.

        Qt Certified Specialist
        www.edalsolutions.be

        1 Reply Last reply
        0
        • A Offline
          A Offline
          alfah
          wrote on last edited by
          #12

          i jus simply pasted the same code in another a new proj, new form of QWidget and i got the proj running with no errors but no tabs seen!!

          I cant set the following

          @
          centralWidget()->setLayout(mainLayout);
          @

          I faced with the same prob last time and the above code did it, but now since it is QWidget. .:(

          1 Reply Last reply
          0
          • EddyE Offline
            EddyE Offline
            Eddy
            wrote on last edited by
            #13

            you cannot use centralWidget in a QWidget. just use setlayout in the constructor.

            Qt Certified Specialist
            www.edalsolutions.be

            1 Reply Last reply
            0
            • A Offline
              A Offline
              alfah
              wrote on last edited by
              #14

              eddy,
              got the tabs displayed, but the same trouble. It works on the simulator but not on the device!! :(
              The gap is still there :(

              1 Reply Last reply
              0
              • EddyE Offline
                EddyE Offline
                Eddy
                wrote on last edited by
                #15

                [quote author="alfah" date="1312970956"]eddy, got the tabs displayed, but the same trouble. It works on the simulator but not on the device!! :( The gap is still there :([/quote]

                Do you have any stylesheet changed on the device or is it like you didn't use a stylesheet at all?

                Qt Certified Specialist
                www.edalsolutions.be

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  alfah
                  wrote on last edited by
                  #16

                  stylesheet changed on the device meaning??
                  I havnt made any settings change.

                  Simply created three tabs using following code
                  @

                  {
                  ui->setupUi(this);
                  QTabWidget *tabWidget = new QTabWidget;
                  tabWidget->setStyleSheet("QTabWidget::tab-bar{left:0px; }\n"
                  "QTabBar::tab{height:40px; width:105px; color:red;font: 9pt}\n");

                  QWidget *pCalender = new QWidget;
                  QWidget *pHistory = new QWidget;
                  QWidget *pStatistics= new QWidget;
                  
                  pCalender->setStyleSheet("background-color: rgb(224, 220, 201);");
                  pHistory->setStyleSheet("background-color: rgb(224, 220, 201);");
                  pStatistics->setStyleSheet("background-color: rgb(224, 220, 201);");
                  tabWidget->addTab(pCalender,tr("Calender"));
                  tabWidget->addTab(pHistory,tr("History"));
                  tabWidget->addTab(pStatistics,tr("Statistics"));
                  mainLayout = new QVBoxLayout;
                  mainLayout->addWidget(tabWidget);
                  setLayout(mainLayout);
                  

                  @

                  Only the above stylesheet has been used

                  alfah

                  1 Reply Last reply
                  0
                  • EddyE Offline
                    EddyE Offline
                    Eddy
                    wrote on last edited by
                    #17

                    does this line
                    @pCalender->setStyleSheet("background-color: rgb(224, 220, 201);"); @
                    effectively do something on your device or is it the same as you didn't use it all?

                    Qt Certified Specialist
                    www.edalsolutions.be

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      alfah
                      wrote on last edited by
                      #18

                      yes yeaa,

                      Its totally needed. It is to set the background of the calender layout, otherwise the whole background turns black.

                      1 Reply Last reply
                      0
                      • EddyE Offline
                        EddyE Offline
                        Eddy
                        wrote on last edited by
                        #19

                        can you show me a printscreen of your widget?

                        i want to know if your color is set on the application on your device.

                        Qt Certified Specialist
                        www.edalsolutions.be

                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          alfah
                          wrote on last edited by
                          #20

                          i found out somethin else too,

                          In the simulator, if you use Maemo Fremantle, tabs are aligned center or pushed to the left. But if nokia symbian^3 simulator is used, the same problem occurs, the tabs are placed a bit off from the screen's left end.

                          P.S printscreen of the simulator??

                          alfah

                          1 Reply Last reply
                          0
                          • EddyE Offline
                            EddyE Offline
                            Eddy
                            wrote on last edited by
                            #21

                            the symbian^3 of course that's the one for your c7. The Maemo Fremantle is for another device.

                            But now we are a step forward. We know for symbian^3 simulator AND the device it is not working as expected.
                            I will test with the symbian^3 simulator myself. Maybe this is not possible due to style restrictions on Symbian^3.

                            Qt Certified Specialist
                            www.edalsolutions.be

                            1 Reply Last reply
                            0
                            • EddyE Offline
                              EddyE Offline
                              Eddy
                              wrote on last edited by
                              #22

                              I think the reason why we cannot set the first tab aligned to the left is because there is space reserved for the arrow.

                              You will have to experiment with the stylesheet settings untill you find something pleasing.

                              At least we know we shouldn't make a bug report as I suspected earlier.

                              Qt Certified Specialist
                              www.edalsolutions.be

                              1 Reply Last reply
                              0
                              • A Offline
                                A Offline
                                alfah
                                wrote on last edited by
                                #23

                                :)

                                I too came up with the same conclusion:). cuz when i increase the size of tabs, it kinda fits the whole things along with the arrow.
                                sometimes I feel Qt and symbian is not flexible :(

                                Im still fiddling with the tabs and tabbar though :)

                                1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  alfah
                                  wrote on last edited by
                                  #24

                                  i found something like this in the docs

                                  expanding : bool
                                  This property holds when expanding is true QTabBar will expand the tabs to use the empty space.
                                  By default the value is true.
                                  This property was introduced in Qt 4.5.

                                  Access functions:
                                  @
                                  bool expanding () const
                                  void setExpanding ( bool enabled )
                                  @

                                  could you tell me how to use it??? Its said its set to true by default. jus giving it a try

                                  alfah

                                  1 Reply Last reply
                                  0
                                  • EddyE Offline
                                    EddyE Offline
                                    Eddy
                                    wrote on last edited by
                                    #25

                                    have a look at "this thread.":http://developer.qt.nokia.com/forums/viewthread/2879
                                    They didn't succeed however.

                                    the setexpanding function is protected so you will have to subclass.

                                    Qt Certified Specialist
                                    www.edalsolutions.be

                                    1 Reply Last reply
                                    0
                                    • A Offline
                                      A Offline
                                      alfah
                                      wrote on last edited by
                                      #26

                                      ahh k. another vain try.

                                      so inshort i cant solve it jus like that. So can i tag this as "Unsolvable" ??? :D

                                      1 Reply Last reply
                                      0
                                      • EddyE Offline
                                        EddyE Offline
                                        Eddy
                                        wrote on last edited by
                                        #27

                                        I didn't say it's unsolvable. I just said we will have to try with subclassing QTabBar.

                                        Qt Certified Specialist
                                        www.edalsolutions.be

                                        1 Reply Last reply
                                        0
                                        • EddyE Offline
                                          EddyE Offline
                                          Eddy
                                          wrote on last edited by
                                          #28

                                          I found a solution on "Stackoverflow":http://stackoverflow.com/questions/5133846/qt4-expanding-tabs-in-qtabbar.

                                          Obviously the -expanding- setExpanding function divides the available space like this :!http://dl.dropbox.com/u/33544011/tabbarExpanding.PNG(Tabbar expanding)!
                                          There is always space left over on the right for another tab. Could you use that?

                                          If not you will have to live with the styles provided by your device.

                                          Qt Certified Specialist
                                          www.edalsolutions.be

                                          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