МихаилллJuly 15, 2019, 4:10 a.m.
Трудности с созданием 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 } } } }
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
AD
- Akiv Doros
- Nov. 12, 2024, 1:58 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
m
- molni99
- Oct. 26, 2024, 11:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
m
- molni99
- Oct. 26, 2024, 11:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
Last comments
ИМ
Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь МаксимовNov. 22, 2024, 10:51 p.m.
Evgenii LegotckoiNov. 1, 2024, 12:37 a.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь МаксимовOct. 5, 2024, 5:51 p.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Now discuss on the forum
Evgenii LegotckoiJune 25, 2024, 1:11 a.m.
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey1Nov. 15, 2024, 5:04 p.m.
NSProjectJune 4, 2022, 1:49 p.m.
IscanderCheNov. 1, 2024, 1:43 a.m.
Машина тьюринга // Начальное состояние 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 элемент? и как говорилось выше, в данной ситуации, это не правильная запись
правильно будет написать
Спасибо. Просто программа мне автоматом такую запись выдает порой.