Add Qt 6 Qml example

This commit is contained in:
velorums 2025-04-02 20:28:13 +02:00
parent f7963788ee
commit 7533371ccf
2 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,43 @@
package main
import (
"fmt"
"os"
qt "github.com/mappu/miqt/qt6"
"github.com/mappu/miqt/qt6/qml"
)
func main() {
qt.NewQApplication(os.Args)
engine := qml.NewQQmlApplicationEngine()
url := qt.QUrl_FromLocalFile("main.qml")
model := qt.NewQAbstractListModel()
model.OnRowCount(func(parent *qt.QModelIndex) int {
return 1000
})
model.OnData(func(idx *qt.QModelIndex, role int) *qt.QVariant {
if !idx.IsValid() {
return qt.NewQVariant()
}
switch qt.ItemDataRole(role) {
case qt.DisplayRole:
return qt.NewQVariant14(fmt.Sprintf("this is row %d", idx.Row()))
default:
return qt.NewQVariant()
}
})
engine.RootContext().SetContextProperty("myModel", model.QObject)
engine.Load(url);
qt.QApplication_Exec()
}

View File

@ -0,0 +1,20 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Window
Window {
width: 640
height: 480
visible: true
title: "Hello World"
ListView {
anchors.fill: parent
model: myModel
delegate: Row {
spacing: 10
Text { text: display }
}
}
}