Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Consiglio su layout
QtWS25 Last Chance

Consiglio su layout

Scheduled Pinned Locked Moved Solved Italian
7 Posts 3 Posters 1.1k 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.
  • F Offline
    F Offline
    fermatqt
    wrote on last edited by
    #1

    ciao!

    avendo sempre usato il designer, e non volendolo usare per questo progetto, sono un pò confuso su quale layout sarebbe meglio usare per il mio scopo.
    in sostanza dovrei dividere la finestra in due parti, di cui la parte di sinistra il 30% della dimensione della finestra, e il 70% il resto.
    cosa mi consigliate??

    1 Reply Last reply
    0
    • mrdebugM Offline
      mrdebugM Offline
      mrdebug
      wrote on last edited by
      #2

      Perché non vuoi usarlo? Si tratta di un progetto basato su qml?

      Need programmers to hire?
      www.labcsp.com
      www.denisgottardello.it
      GMT+1
      Skype: mrdebug

      1 Reply Last reply
      0
      • F Offline
        F Offline
        fermatqt
        wrote on last edited by
        #3

        no, solo per conoscenza personale!

        1 Reply Last reply
        0
        • VRoninV Offline
          VRoninV Offline
          VRonin
          wrote on last edited by
          #4

          http://doc.qt.io/qt-5/qsplitter.html

          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
          ~Napoleon Bonaparte

          On a crusade to banish setIndexWidget() from the holy land of Qt

          1 Reply Last reply
          0
          • F Offline
            F Offline
            fermatqt
            wrote on last edited by
            #5

            ok grazie, sto usando QSplitter:

            void MainWindow::createMainLayout() {
                QSplitter *splitter = new QSplitter(Qt::Horizontal);
            
                QWidget *left = new QWidget;
                left->setGeometry(0, 0, splitter->width() * 0.2, splitter->height());
                QPushButton *a = new QPushButton(left);
                a->setText("SX");
            
                QWidget *right = new QWidget;
                QPalette pal = palette();
                pal.setColor(QPalette::Background, Qt::white);
                right->setAutoFillBackground(true);
                right->setPalette(pal);
                right->setGeometry(0, 0, splitter->width() * 0.8, splitter->height());
                QPushButton *b = new QPushButton(right);
                b->setText("DX");
            
                splitter->addWidget(left);
                splitter->addWidget(right);
                this->setCentralWidget(splitter);
            }
            

            cosi parrebbe funzionare!

            1 Reply Last reply
            0
            • VRoninV Offline
              VRoninV Offline
              VRonin
              wrote on last edited by
              #6

              invece di fare left->setGeometry(0, 0, splitter->width() * 0.2, splitter->height()); puoi usare splitter->setStretchFactor(0,1) e splitter->setStretchFactor(1,4)

              "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
              ~Napoleon Bonaparte

              On a crusade to banish setIndexWidget() from the holy land of Qt

              1 Reply Last reply
              0
              • F Offline
                F Offline
                fermatqt
                wrote on last edited by fermatqt
                #7

                così funziona:

                void MainWindow::createMainLayout() {
                    QSplitter *splitter = new QSplitter(Qt::Horizontal);
                
                    QWidget *left = new QWidget;
                    //left->setGeometry(0, 0, splitter->width() * 0.2, splitter->height());
                
                    QWidget *right = new QWidget;
                    QPalette pal = palette();
                    pal.setColor(QPalette::Background, Qt::white);
                    right->setAutoFillBackground(true);
                    right->setPalette(pal);
                    //right->setGeometry(0, 0, splitter->width() * 0.8, splitter->height());
                
                    splitter->addWidget(left);
                    splitter->addWidget(right);
                    splitter->setStretchFactor(0, 1);
                    splitter->setStretchFactor(1, 4);
                    this->setCentralWidget(splitter);
                }
                

                grazie per la dritta!

                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