Serj Demchenko
Serj Demchenko18. Februar 2020 07:19

Перетаскивать item из ListView

c++, QML

Привет , кто -нибудь подскажет как реализовать перетаскивание обьектов из листвью , и как это вообще делается ?
Суть в том ,чтобы при объекта из листвью модели ,знать что за обьект.
Вот примерно код

#include <QApplication>
#include <QQmlApplicationEngine>
#include <QtQuick>
#include <QIcon>
#include <QtDebug> 

#include "Utility/XmlManager.h"
#include "ItemClasses/DataObject.h"

int main(int argc, char *argv[])
{
    QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QApplication app(argc, argv);
    QIcon appIcon(":/IconSource/title.svg");
    app.setWindowIcon(appIcon); 

    QQmlApplicationEngine engine; 

    /* cpp listModel */ 
    QList<QObject*> dataList;
    dataList.append(new DataObject("Item 1", "red"));
    dataList.append(new DataObject("Item 2", "green"));
    dataList.append(new DataObject("Item 3", "blue"));
    dataList.append(new DataObject("Item 4", "yellow"));

    engine.rootContext()->setContextProperty("myModel",  QVariant::fromValue(dataList));
    engine.load(QUrl(QLatin1String("qrc:/QmlPages/main.qml"))); 

    qDebug() << "counts delegate:" << dataList.count();
    return app.exec();

}
 Drawer {
        id: expanderComponent
        width: window.width/3
        height: window.height 

        Button{
           / ...
        }
        /*model */ 
        ListView { 
            anchors {
                left: parent.left
                right: parent.right
                top: closeButton.bottom
                bottom: parent.bottom
            }
            contentHeight: height
            model: myModel
            delegate: Rectangle{
                height: 25
                        width: parent.width
                color: model.modelData.color
                Text { text: model.modelData.name } 
            }
            Component.onCompleted: console.log("qml count: " +  myModel.length)
        }
    }
Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

0

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
A
ALO1ZE19. Oktober 2024 18:19
Fb3-Dateileser auf Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь Максимов5. Oktober 2024 17:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 21:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr9. Februar 2024 05:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 13:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick2. Oktober 2024 01:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 19:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 14:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken