Skip to content

ScriptWidget (cz) metody widgetů přístupné ze scriptu

Tasssadar edited this page Mar 2, 2012 · 1 revision

Každý widget dědí z Qt třídy QWidget, proto lze použít i věci z QWidget.

Vlastnosti (properties):
http://qt-project.org/doc/qt-4.7/QWidget.html#propertySection

var cislo = newNumberWidget("neco");
cislo.width = 100;

Metody (public slots):
http://qt-project.org/doc/qt-4.7/QWidget.html#slotSection

var barva = newColorWidget("barva");
barva.setDisabled(true);

##NumberWidget (číslo) ###setValue(číslo nebo string) Nastaví zobrazené číslo.
Příklad:

var cislo = newNumberWidget("ASCII kód klávesy");

function onKeyPress(key) {
    cislo.setValue(key.charCodeAt(0));
}

##BarWidget (sloupcový bar) ###setValue(číslo) Nastaví hodnotu baru

###setRange(min, max) Nastaví rozmezí hodnot baru

###rotationSelected(rotace) Nastaví otočení baru. rotace musí být 0 (na výšku) nebo 1 (na šířku)

var bar = newBarWidget("bar");
bar.setRange(0, 100);
bar.rotationSelected(1);

var cnt = 0;

function onKeyPress(key) {
    bar.setValue(cnt++);
}

##ColorWidget (barva) ###setValue(r, g, b); setValue("#FFFFFF") Nastaví zobrazenou barvu. Buďto jako 3 integery (r, g, b) nebo jako html hex string ("#FFFFFF")

var barva = newColorWidget("barva");

function onDataChanged(data, dev, cmd, index) {
    barva.setValue(data[0], data[1], data[2]);
    return "";
}

##GraphWidget (graf) ###addCurve("jméno", "barva") Vytvoří a vráti objekt křivky grafu. barva může být html barva ("red", "blue", ...) nebo hex string ("#000000"). Vrácené křivce se dají nastavovat další parametry:

  • addPoint(index, hodnota) - přidá bod do grafu. Pořadí určuje index (je vynesen na ose y).
  • clear() - vymaže všechny body křivky

###setAxisScale(osaX, min, max) Nastaví měřítko osy. osaX je boolean, pokud chcete nastavit měřítko ose X, je true, pokud ose Y tak je false. min a max jsou minimální a maximální zobrazené hodnoty osy.

###updateVisibleArea() Přesune graf na posledni bod křivek.

var graf = newGraphWidget("graf");
graf.setAxisScale(true, -50, 150); // Nastavení měřítka osy X
graf.setAxisScale(false, -110, 110); // Nastavení měřítka osy Y

var krivka = graf.addCurve("sin", "red"); // Vytvoření křivky

var idx = 0;
var val = 0;
function onKeyPress(key) {
    switch(key)
    {
        case "c":
            krivka.clear(); // smazani vsech bodu krivky
            idx = 0;
            break;
        default:
        {
            for(var i = 0; i < 100; ++i)
            {
                krivka.addPoint(idx++, Math.sin(val)*100);
                val += 0.1;
            }
            break;
        }
    }
    graf.updateVisibleArea(); // Přesunout na konec grafu
}

##InputWidget (Vstup) Tenhle widget umožňuje přidat nějáký vstupní widget (tlačítko, políčko pro text, ...) a zpracovávat ho ve scriptu.

TODO

Clone this wiki locally