Михаиллл15 липня 2019 р. 04:10
Трудности с созданием ListView в QML
Добрый день.
Сделал несколько эллементов интерфейса.
Эти эллементы пытаюсь запихнуть в ListView интерфейс плывет, некоторые части не отображаются, а при нажатии снизу вверх ListView обновляется.
Скажите пожалуйста почему так? И как правильно добавлять в ListView? И можно ли Обойтись без ListView , просто размещая эллементы на основном окне, но так, что-бы была возможность их прогручивать?
import QtQuick 2.12 import QtQuick.Controls 2.12 Item { id: mainElement width: 400 height: 700 ListView { id: listViewFerstWindow anchors.right: parent.right anchors.rightMargin: 0 anchors.left: parent.left anchors.leftMargin: 0 anchors.bottom: parent.bottom anchors.bottomMargin: 0 anchors.top: parent.top anchors.topMargin: 0 model: 1 delegate: Item { id: itemDelegateFirstWindow Rectangle { id: rectangle height: 19 color: "#e3ded3" anchors.right: parent.right anchors.rightMargin: 0 anchors.left: parent.left anchors.leftMargin: 0 anchors.top: parent.top anchors.topMargin: 0 Text { id: element1 x: 78 y: 4 width: 214 height: 14 text: qsTr("8 (800) 700 0002 - отдел продаж") anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter font.pixelSize: 12 } } Rectangle { id: rectangle1 height: mainElement.height * 0.15 color: "#ffffff" anchors.top: rectangle.bottom anchors.topMargin: 0 anchors.right: parent.right anchors.rightMargin: 0 anchors.left: parent.left anchors.leftMargin: 0 Image { id: imageLabel width: parent.width * 0.75 anchors.left: parent.left anchors.leftMargin: 0 anchors.bottom: parent.bottom anchors.bottomMargin: 0 anchors.top: parent.top anchors.topMargin: 0 fillMode: Image.PreserveAspectFit source: "qrc:/Images/Images/Xwd9C1BM5QA.jpg" } Button { id: buttonMenu // x: 314 // y: 37 anchors.left: imageLabel.right anchors.right: parent.right width: parent.height * 0.5 height: parent.height * 0.8 text: qsTr("") anchors.rightMargin: parent.height * 0.2 anchors.leftMargin: parent.height * 0.2 anchors.verticalCenter: parent.verticalCenter background: Rectangle{ color: "white" } Image { id: image1 anchors.fill: parent fillMode: Image.PreserveAspectFit source: "qrc:/Images/Images/menuRed.png" } } } Rectangle { id: rectangle2 x: 141 y: 143 width: 99 height: 26 color: "#db4c4c" radius: height * 0.3 MouseArea { id: mouseAreaRassrochka anchors.bottomMargin: 0 anchors.fill: parent Text { id: element2 x: 82 y: parent.height * 0.05 //width: 5 height: 7 text: qsTr("Продаем") font.weight: Font.ExtraBold font.capitalization: Font.MixedCase font.family: "Times New Roman" elide: Text.ElideLeft color: "white" anchors.horizontalCenter: parent.horizontalCenter font.pixelSize: parent.height * 0.4 } Text { id: element3 x: 87 y: parent.height * 0.45 text: qsTr("в рассрочку!") font.weight: Font.ExtraBold font.family: "Times New Roman" font.capitalization: Font.MixedCase color: "white" anchors.horizontalCenterOffset: 0 anchors.horizontalCenter: parent.horizontalCenter font.pixelSize: parent.height * 0.4 } } } Rectangle{ color: "red" width: 200 height: 200 y: 650 } } } }
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
AD
- Akiv Doros
- 11 листопада 2024 р. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50бали,
- Рейтинг балів-4
m
- molni99
- 26 жовтня 2024 р. 01:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
m
- molni99
- 26 жовтня 2024 р. 01:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20бали,
- Рейтинг балів-10
Останні коментарі
ИМ
Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь Максимов22 листопада 2024 р. 11:51
Evgenii Legotckoi31 жовтня 2024 р. 14:37
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь Максимов05 жовтня 2024 р. 07:51
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Тепер обговоріть на форумі
Evgenii Legotckoi24 червня 2024 р. 15:11
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey115 листопада 2024 р. 06:04
NSProject04 червня 2022 р. 03:49
IscanderChe31 жовтня 2024 р. 15:43
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
например для селфиш ОС есть SilicaFlickable — самый базовый контейнер, который позволяет прокручивать экран
или обрати внимание на VerticalScrollDecorator {}
ну или вот https://doc.qt.io/qt-5.9/qtquickcontrols2-gallery-pages-scrollbarpage-qml.html
делает тоже самое что и SilicaFlickable
//Page {
// id: page
// }
У меня нет селфиш, есть виндовс, на худой конец есть макос и линукс. Но можно ли в виндовсе это сделать?
на первый взгляд плывет из-за не правильного делегата. заменить можно, но все зависит от задачь которые преследуются. обьясните что хотели добиться, чтоб понять куда пнуть исправлять.
Мне нужно что-бы було окно, которое прокручивается по вертикали (т.к. много эллементов интерфейса и они не влезают по вертикали в видимую часть экрана). В него ничего не нужно добавлять и убирать.
Скорее всего у вас модель не обьявлена, вот мой пример кода, но раз вам только скроллер нужен поместите все в контейнер Flickable {}
важко розібратись у цьому вашому коді... так наперший погляд не варто писати
якщо ви хочите заповнити весь простір, достатньо anchors.fill: parent
і ніде не додано розмір елемента
delegate: Item
{
id: itemDelegateFirstWindow
Спасибо, сделал так, размеры теперь не плывут. Но глюк с вырубанием экрана при перетаскиванем вверх остался.
Скажите пожалуйста, из-за чего это может быть?
Может быть еще можно использовать ScrollView? Пробовал все поместить в ScrollView, но экран после этого не прокручивается.
советую заглянуть в офиц документацию по Qt https://doc.qt.io/qt-5.9/qtquickcontrols2-gallery-pages-scrollbarpage-qml.html
задайте фликабл контейнеру width: Theme.paddingLarge а hight : parent.heigh , где то намудрили скорее всего
https://doc.qt.io/qt-5/qml-qtquick-controls2-scrollview.html
читайте внимательнее )))
Примечание. ScrollView не обрезает содержимое автоматически. Если он не используется как полноэкранный элемент, вам следует установить для свойства clip значение true, как показано выше.
и там еще пример реализации всякой есть
Вот такой вариант заработал
вопрос, а зачем вообще ListView если там будет только 1 элемент? и как говорилось выше, в данной ситуации, это не правильная запись
правильно будет написать
Спасибо. Просто программа мне автоматом такую запись выдает порой.