BlinCT
BlinCTҚаз. 7, 2019, 12:28 Т.Қ.

Заполнение TabBar

Всем привет.
Хочу в Qml в TabBar заполнить каждую из вкладок контентом из отдельных файлов.
Знаю что можно через Loader но у меня почему то все равно в каждой вкладке контент из первой вкладки.

TabButton {
                text: qsTr("Test_1")
            }
            TabButton {
                text: qsTr("Test_2")
            }
            TabButton {
                text: qsTr("Test_3")
            }

            onCurrentIndexChanged: {
                switch (currentIndex)
                {
                case 0:
                    loader.source = "qrc:/General.qml"
                    break;
                case 1:
                    loader.source = "qrc:/Test_2.qml"
                    break;
                case 2:
                    loader.source = "qrc:/Test_3.qml"
                    break;
                }

            }

        Loader {
            id: loader
            anchors.fill: parent
            source: "qrc:/General.qml"
        }

Может кто подскажет, я где то ошибку допускаю? И может есть другие способы заполнения?
Спасибо.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

7
Evgenii Legotckoi
  • Қаз. 7, 2019, 2:52 Т.Қ.

Привет. Может лучше использовать вариант из примеров Qt?

TabBar {
    id: bar
    width: parent.width
    TabButton {
        text: qsTr("Home")
    }
    TabButton {
        text: qsTr("Discover")
    }
    TabButton {
        text: qsTr("Activity")
    }
}

StackLayout {
    width: parent.width
    currentIndex: bar.currentIndex
    Item {
        id: homeTab
    }
    Item {
        id: discoverTab
    }
    Item {
        id: activityTab
    }
}
    BlinCT
    • Қаз. 7, 2019, 3:39 Т.Қ.

    Ну в принципе да, тут ты прав, но все равно остается ситуация что контент что находится в каждом табе вылезает за пределы не только таба но и TabBar.
    Вот 2 скрина первого и второго таба. Сам TabBar находится под ComboBox

      Evgenii Legotckoi
      • Қаз. 7, 2019, 3:42 Т.Қ.

      Запомни, если контент вылезает за пределы родителя, то попробуй включить clip: true в родителе, чтобы срезать весь контент пределами родителя.

        BlinCT
        • Қаз. 7, 2019, 4:28 Т.Қ.

        Если я правильно понимаю то это надо у TabBar включить?
        Если так то это не помогло(

          Evgenii Legotckoi
          • Қаз. 8, 2019, 2:38 Т.Ж.
          StackLayout {
              width: parent.width
              currentIndex: bar.currentIndex
              Item {
                  id: homeTab
                  clip: true
              }
              Item {
                  id: discoverTab
                  clip: true
              }
              Item {
                  id: activityTab
                  clip: true
              }
          }
          
            BlinCT
            • Қаз. 8, 2019, 3:07 Т.Ж.

            Нет, не помогло. Вообще перестает что либо отображатся.

              Evgenii Legotckoi
              • Қаз. 8, 2019, 3:16 Т.Ж.
              • Жауап шешім ретінде белгіленді.

              Ну а голову включить и вёрстку написать правильно?

              import QtQuick 2.9
              import QtQuick.Window 2.2
              import QtQuick.Controls 2.5
              import QtQuick.Layouts 1.12
              
              Window {
                  visible: true
                  width: 640
                  height: 480
                  title: qsTr("Hello World")
              
                  TabBar {
                      id: bar
                      width: parent.width
                      TabButton {
                          text: qsTr("Home")
                      }
                      TabButton {
                          text: qsTr("Discover")
                      }
                      TabButton {
                          text: qsTr("Activity")
                      }
                  }
              
                  StackLayout {
                      width: parent.width
                      currentIndex: bar.currentIndex
                      anchors.top: bar.bottom
                      anchors.left: parent.left
                      anchors.right: parent.right
                      anchors.bottom: parent.bottom
              
                      Item {
                          id: homeTab
                          clip: true
              
                          ListView {
                              anchors.fill: parent
                              model: ListModel {
                                  ListElement {
                                      name: "Bill Smith"
                                      number: "555 3264"
                                  }
                                  ListElement {
                                      name: "John Brown"
                                      number: "555 8426"
                                  }
                                  ListElement {
                                      name: "Sam Wise"
                                      number: "555 0473"
                                  }
                              }
              
                              delegate: Text {
                                  text: name + ": " + number
                              }
                          }
                      }
                      Item {
                          id: discoverTab
                          clip: true
                          ListView {
                              anchors.fill: parent
                              model: ListModel {
                                  ListElement {
                                      name: "Bill Smith"
                                      number: "555 3264"
                                  }
                                  ListElement {
                                      name: "John Brown"
                                      number: "555 8426"
                                  }
                              }
              
                              delegate: Text {
                                  text: name + ": " + number
                              }
                          }
                      }
                      Item {
                          id: activityTab
                          clip: true
                          ListView {
                              anchors.fill: parent
                              model: ListModel {
                                  ListElement {
                                      name: "Bill Smith"
                                      number: "555 3264"
                                  }
                              }
              
                              delegate: Text {
                                  text: name + ": " + number
                              }
                          }
                      }
                  }
              }
              
              

                Пікірлер

                Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
                Кіріңіз немесе Тіркеліңіз
                OI
                • Ora Iro
                • Жел. 24, 2024, 6:38 Т.Ж.

                C++ - Тест 001. Первая программа и типы данных

                • Нәтиже:40ұпай,
                • Бағалау ұпайлары-8
                AD

                C++ - Тест 004. Указатели, Массивы и Циклы

                • Нәтиже:50ұпай,
                • Бағалау ұпайлары-4
                m
                • molni99
                • Қаз. 26, 2024, 1:37 Т.Ж.

                C++ - Тест 004. Указатели, Массивы и Циклы

                • Нәтиже:80ұпай,
                • Бағалау ұпайлары4
                Соңғы пікірлер
                ИМ
                Игорь МаксимовҚар. 22, 2024, 11:51 Т.Ж.
                Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                Evgenii Legotckoi
                Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
                Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                A
                ALO1ZEҚаз. 19, 2024, 8:19 Т.Ж.
                Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                ИМ
                Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
                Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                d
                dblas5Шілде 5, 2024, 11:02 Т.Ж.
                QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                Енді форумда талқылаңыз
                p
                pimacontrols85Жел. 31, 2024, 9:39 Т.Ж.
                Finding the Right Rittal Small Enclosure for Your Needs Rittal is a leading manufacturer of enclosures for industrial and IT applications. Their small enclosures offer a compact and reliable solution for a wide range of needs, from housing electronic…
                Donald Randolph
                Donald RandolphЖел. 30, 2024, 2:59 Т.Ж.
                Personal Injury lawyer Santa Monica As an experienced Santa Monica personal injury lawyer, Donald C. Randolph has recovered over $100 Million in verdicts and settlements for our clients. In severe injury cases, this compensation i…
                Nirvana Yoga School
                Nirvana Yoga SchoolЖел. 30, 2024, 5:13 Т.Ж.
                OAuth2.0 через VK, получение email Nirvana Yoga School is one of the most trusted and reputed traditional Rishikesh yoga courses , India certified by Yoga Alliance, USA. We aim to spread traditional yoga teachings so t…
                s
                sriparkЖел. 30, 2024, 4:47 Т.Ж.
                Mobile app development company in Chennai A Mobile app development company in Chennai focuses on creating personalized mobile applications to meet various business requirements. These companies offer a full range of services,…
                a
                amit88Жел. 30, 2024, 4:45 Т.Ж.
                Excel in Exams with PSLE Maths Tuition Singapore Preparing for the PSLE can be challenging, but the right guidance makes all the difference. PSLE Maths tuition Singapore offers personalized coaching to help students master key concepts, improv…

                Бізді әлеуметтік желілерде бақылаңыз