Získajte veľkosť QStringList v PROGRAM z vlastníctva prešiel od C++ slovník

0

Otázka

Určite je hlúpa otázka, ale nemôžem sa z toho dostať...

Existuje nejaký spôsob na POŽIADAVKY strane dostať veľkosť QStringList prešiel ako majetok, ktorý z c++ slovník? Môžem používať majetok na vyplnenie model combobox, ale nemôžem nájsť rovno spôsob, ako získať veľkosť (samozrejme, že to môžem vystaviť e invokable metóda z cpp, ale to nie je to, čo chcem)

príklad:

test.h

class Test : public Workflow
{
  Q_OBJECT
  Q_PROPERTY(QStringList availableCameras MEMBER m_availableCameras NOTIFY availableDevicesChanged)
[...]

private:
qStringList m_availableCameras

test.program

    GroupBox{
      anchors.fill: parent
      title: "Camera Panel"
      property string selectedCamera: ""
    
      function showImage(){
        if(test.availableCameras.size() === 1) // NOT WORKING
        {
          return configurator.lastSingleImage
        }
        if(selectedCamera === test.rightCamSerialConf)
        {
          return configurator.lastRightImage
        }
        if(selectedCamera === test.leftCamSerialConf)
        {
          return configurator.lastLeftImage
        }
    
      }
      ComboBox{
                  model: test.availableCameras // WORKING
                  editable: false
                  onEditTextChanged: selectedCamera = editText
                } 
   [...]
   }
c++ qml qt
2021-11-17 09:06:16
1

Najlepšiu odpoveď

1

A QStringList pôsobí ako JS pole reťazcov v PROGRAM. Vo všeobecnosti môžete použiť Array"s funkciami na to : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

A keď nemôžete, môžete explicitely, aby to skutočné pole s Array.from

Vo vašom prípade budete chcieť length:

if(test.availableCameras.length === 1)
2021-11-17 13:23:26

Perfektné, vďaka. Len pre info, pre mňa to fungovalo bez zátvorky: if(test.availableCameras.dĺžka === 1)
Matteo Barbieri

Skutočne ľúto, že je to chyba z mojej strany.
GrecKo

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................