Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Polish
  4. Nie wiem jak to nazwać, ustawianie uniwersalnych wymiarów przycisków/okienek/pól tekstowych

Nie wiem jak to nazwać, ustawianie uniwersalnych wymiarów przycisków/okienek/pól tekstowych

Scheduled Pinned Locked Moved Polish
rozmiargrafikauniwersalny roz
5 Posts 2 Posters 2.3k 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.
  • H Offline
    H Offline
    Huragan
    wrote on last edited by Huragan
    #1

    Dzień dobry!
    Nie wiem jak to się nazywa w slangu profesjonalistów, ale chwiałbym, żeby to co ustawie sobie w okienku mojego programu miało uniwersalny rozmiar, żeby np. guzik zajmował 10 % szerokości i 10 % wysokości okienka; podobnie chwiałbym zrobić z resztą rzeczy w okienku.
    Chcę zrobić aplikację na Androida, a jak wiadomo urządzenia z Androidem mają ekrany różnych rozmiarów dla tego muszę opracować ten temat.
    Czy jest jakiś łatwy sposób na to ?
    Póki co ustawiałem ręcznie rozmiary wszystkich graficznych obiektów w interfejsie mojego programu i w momencie kiedy rozmiar okienka się zmieniał, ponownie przeliczałem rozmiary i ustawiałem je obiektom. Czy można to jakoś uniknąć ?

    Śmieje się, bo życie jest śmiechu warte. - Petroniusz "Quo Vadis"

    1 Reply Last reply
    0
    • Chris KawaC Offline
      Chris KawaC Offline
      Chris Kawa
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Jeden ze sposobów to poustawianie odpowiednich wartości anchors, np. dwa prostokąty o szerokości/wysokości 10% rodzica i odstępach też po 10%:

      Rectangle {
              color: "red"
              anchors.fill: parent
      
              Rectangle {
                  color: "blue"
                  anchors.fill: parent
                  anchors.leftMargin: parent.width * 0.1
                  anchors.rightMargin: parent.width * 0.8
                  anchors.topMargin: parent.height * 0.1
                  anchors.bottomMargin: parent.height * 0.8
              }
              Rectangle {
                  color: "blue"
                  anchors.fill: parent
                  anchors.leftMargin: parent.width * 0.3
                  anchors.rightMargin: parent.width * 0.6
                  anchors.topMargin: parent.height * 0.1
                  anchors.bottomMargin: parent.height * 0.8
              }
          }
      
      1 Reply Last reply
      0
      • H Offline
        H Offline
        Huragan
        wrote on last edited by
        #3

        To jest CSS? Czy Qt Quick ?

        Śmieje się, bo życie jest śmiechu warte. - Petroniusz "Quo Vadis"

        1 Reply Last reply
        0
        • Chris KawaC Offline
          Chris KawaC Offline
          Chris Kawa
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Nie napisałeś czego używasz więc, skoro to projekt na Androida, założyłem, że chodzi Ci o QML (QtQuick).
          Jeśli używasz widgetów to wrzucasz elementy w layout i szerokości możesz sobie ustawić za pomocą size policy, np. dwa przyciski 20% i 80% szerokości:

          auto btn1 = new QPushButton("Hello");
          auto btn2 = new QPushButton("World");
          
          QSizePolicy policy(QSizePolicy::Preferred, QSizePolicy::Fixed);
          
          policy.setHorizontalStretch(20);
          btn1->setSizePolicy(policy);
          
          policy.setHorizontalStretch(80);
          btn2->setSizePolicy(policy);
          
          auto widget = new QWidget;
          widget->setLayout(new QHBoxLayout);
          widget->layout()->addWidget(btn1);
          widget->layout()->addWidget(btn2);
          
          1 Reply Last reply
          0
          • H Offline
            H Offline
            Huragan
            wrote on last edited by
            #5

            O, łał, fajne rozwiązanie. :)

            Śmieje się, bo życie jest śmiechu warte. - Petroniusz "Quo Vadis"

            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