Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Model for UI objects data



  • Hello,

    On Ui I have Labels, SpinBoxes, Buttons,... for visualization of some stuff from Controller

    I wrap it in custom types and now it looks something like this:

    CommandPushButton{image: "concrete density hard"; control: "DensityHard"}
    CommandDelayButton{image: "center"; control: "HeaderRollLeftSearch"}
    ParameterSpinBox{parameter: "DistanceBeforeStartBoomIn"; unit: "" }
    ParameterBigView{parameter: "FinePullSpeed"; label: qsTr("Fine pull speed"); unit: "%"; image: "pull speed"; }
    

    So, for every element, I need to specify properties in QML file in the element itself
    It is working fine, but when I have 20 objects on the screen looks messy

    I am looking for DataModel what can hold all these details inside. Something like this:

    BestQmlDataModelEver{
        id: modelForAllDataOnUi
    
        BestEverDataModelElement{id: "DensityHard"; image: "concrete density hard"}
        BestEverDataModelElement{id: "HeaderRollLeftSearch"; image: "center"}
        BestEverDataModelElement{id: "DistanceBeforeStartBoomIn"; unit: ""}
        BestEverDataModelElement{id: "FinePullSpeed"; label: qsTr("Fine pull speed"); unit: "%"; image: "pull speed"; }
    }
    

    And use it like this in QML file:

    CommandPushButton{id: "DensityHard"}
    CommandDelayButton{id: "HeaderRollLeftSearch"}
    ParameterSpinBox{id: "DistanceBeforeStartBoomIn"}
    ParameterBigView{id: "FinePullSpeed"}
    

    Problems I see (probably more exist what I don't see now :) ):

    • does this model exists in Qt Quick
    • can I find element inside of my custom types by Id: modelForAllDataOnUi.FindByName(id)
    • will I lose translation possibility?

Log in to reply