13.1.13.4.2. Değer denetimleri#
Bunlar bir ayarı tutan denetimlerdir. Her biri bir value taşır ve Save düzenlenen value değerini denetime geri yazar. Aşağıdaki tablo, denetimden sakladığı JSON türüne hızlı bir eşlemedir; sonraki bölümler her anahtarı belgeler.
Denetim | Kaydeder |
|---|---|
checkbox | boolean veya integer |
combobox | seçilen değer veya indeksi |
radio | seçilen değer veya indeksi |
spinbox | integer |
doublespinbox | number (kayan nokta) |
slider | integer |
lineedit | string |
Tüm değer kontrolleri ayrıca ortak anahtarları (name, label, tooltip, enabled) kabul eder; bkz. genel bakış. label ögesi kontrolün yanında gösterilir (bir checkbox için kutunun kendisinin üzerinde).
13.1.13.4.2.1. checkbox#
Bir açma/kapama anahtarı. “Ayarlanmamış” bir orta duruma sahip ayarlar için isteğe bağlı olarak üç durumlu.
{ "type": "checkbox", "name": "draw_overlays", "label": "Draw Overlays", "value": true }
Bağımsız değişkenler:
label (string) – kutunun yanında gösterilen metin. Yalnızca düz metin (etiketleri zengin metin alan diğer denetimlerin aksine).
tristate (boolean, varsayılan
false) – üçüncü, kısmen işaretli bir duruma izin verir.value – başlangıç durumu. İki durumlu: bir boolean. Üç durumlu:
0(kapalı),1(kısmi) veya2(açık).
Kaydeder: iki durumlu bir kutu için bir boolean; üç durumlu bir kutu için bir integer 0, 1 veya 2.
13.1.13.4.2.2. combobox#
Bir açılır seçenek menüsü.
{
"type": "combobox",
"name": "resolution",
"label": "Resolution",
"options": ["QQVGA", "QVGA", "VGA"],
"values": ["qqvga", "qvga", "vga"],
"value": "qvga"
}
Bağımsız değişkenler:
options (dize dizisi) – menüde gösterilen öğeler.
values (array) – kaydedilecek değerlerin, her option için bir tane olmak üzere isteğe bağlı bir paralel dizisi. values ile menü
options[i]gösterir ancakvalues[i]kaydeder – böylece kullanıcı “QVGA” görürken dosya"qvga"saklar. Girişler herhangi bir JSON türü olabilir. values olmadan, denetim bunun yerine seçilen öğenin indeks değerini kaydeder.value – başlangıç seçimi. values ile, values değerlerinden birine eşit giriş. values olmadan, seçilecek öğenin indeksi (varsayılan
0).
Kaydeder: values verildiğinde eşleşen values girişi (herhangi bir tür); aksi takdirde seçilen indeks (integer).
13.1.13.4.2.3. radio#
Bir radyo düğmesi kümesi – aynı anda bir seçim görünür, bir combobox gibi ancak tam olarak yerleştirilmiş.
{
"type": "radio",
"name": "mode",
"label": "Mode",
"options": ["Idle", "Track", "Record"],
"values": ["idle", "track", "record"],
"value": "idle",
"orientation": "horizontal"
}
Bağımsız değişkenler:
options (dize dizisi) – her giriş için bir düğme.
values (array) – kaydedilecek isteğe bağlı değerler, her option için bir tane, tam olarak combobox için olduğu gibi. Onsuz, denetim seçilen indeks değerini kaydeder.
value – başlangıç seçimi, combobox için olduğu gibi values ile eşleştirilir veya bir indeks olarak kullanılır.
orientation (string, varsayılan
"vertical") – düğmeleri bir satırda yerleştirmek için"horizontal", aksi takdirde bir sütun.
Kaydeder: eşleşen values girişi (herhangi bir tür) veya seçilen indeks.
13.1.13.4.2.4. spinbox#
Yukarı/aşağı oklarıyla tam sayılar için bir sayı kutusu.
{
"type": "spinbox",
"name": "server_port",
"label": "Port",
"value": 8080,
"min": 0,
"max": 65535,
"group_separator": true
}
Bağımsız değişkenler:
value (integer, varsayılan
0) – başlangıç sayısı.min (integer, varsayılan
0veya value, hangisi küçükse) – izin verilen en düşük değer.max (integer, varsayılan
100veya value, hangisi büyükse) – izin verilen en yüksek değer.step (integer, varsayılan
1) – yukarı/aşağı artış.prefix (string) – sayıdan önce gösterilen metin, örneğin
"0x".suffix (string) – sayıdan sonra gösterilen metin, örneğin
" px"gibi bir birim.base (integer, varsayılan
10) – görüntüleme tabanı; sayıyı onaltılık olarak göstermek ve düzenlemek için16olarak ayarlayın.group_separator (boolean, varsayılan
false) – rakamları binlik ayırıcılarıyla gruplayın.special_value_text (string) – sayı min değerindeyken sayının yerine gösterilecek metin, örneğin
0değerinde “Off” göster.
Kaydeder: bir integer.
13.1.13.4.2.5. doublespinbox#
Ondalık sayılar için bir sayı kutusu.
{
"type": "doublespinbox",
"name": "sensitivity",
"label": "Sensitivity",
"value": 50.0,
"min": 0,
"max": 100,
"step": 0.5,
"decimals": 1,
"suffix": " %"
}
Bağımsız değişkenler:
value (number, varsayılan
0) – başlangıç sayısı.min (number, varsayılan
0veya value, hangisi küçükse) – izin verilen en düşük değer.max (number, varsayılan
100veya value, hangisi büyükse) – izin verilen en yüksek değer.decimals (integer, varsayılan
2) – ondalık noktadan sonra kaç basamak gösterileceği.step (number, varsayılan
1.0) – yukarı/aşağı artış.prefix (string) – sayıdan önce gösterilen metin, örneğin
"max ".suffix (string) – sayıdan sonra gösterilen metin, örneğin
" %"gibi bir birim.group_separator (boolean, varsayılan
false) – binlik ayırıcılar.special_value_text (string) – sayı min değerindeyken gösterilecek metin.
Kaydeder: bir number (kayan nokta).
13.1.13.4.2.6. slider#
Yanında canlı bir sayısal gösterge bulunan yatay bir kaydırıcı.
{
"type": "slider",
"name": "brightness",
"label": "Brightness",
"value": 50,
"min": 0,
"max": 100,
"step": 1,
"suffix": " %",
"ticks": 25
}
Bağımsız değişkenler:
value (integer, varsayılan
0) – başlangıç konumu.min (integer, varsayılan
0veya value, hangisi küçükse) – yolun alt ucu.max (integer, varsayılan
100veya value, hangisi büyükse) – yolun üst ucu.step (integer, varsayılan
1) – klavye ve sürükleme artışı; sürüklemeler en yakın katına yaslanır.prefix (string) – kaydırıcının yanındaki sayısal göstergeden önce gösterilen metin, örneğin
"x".suffix (string) – göstergeden sonra gösterilen metin, örneğin
" %".ticks (integer) – yolun altına çizilen işaretlerin aralığı.
Kaydeder: bir integer.
13.1.13.4.2.7. lineedit#
Adlar, parolalar, adresler ve benzeri için tek satırlık bir metin alanı.
{
"type": "lineedit",
"name": "hostname",
"label": "Hostname",
"value": "openmv-cam",
"placeholder": "letters, digits, dashes",
"regex": "[A-Za-z0-9-]+",
"clear_button": true
}
Bağımsız değişkenler:
value (string, varsayılan
"") – başlangıç metni.placeholder (string) – alan boşken gösterilen gri ipucu metni.
max_length (integer) – alanın kabul edeceği en fazla karakter sayısı.
mask (string) – yazılabilecek şeyin düzenini sabitleyen bir giriş maskesi, örneğin bir IPv4 adresi için
"000.000.000.000;_". Aşağıdaki Input masks bölümüne bakın.regex (string) – tüm girişin eşleşmesi gereken bir düzenli ifade. Aşağıdaki Regular expressions bölümüne bakın.
clear_button (boolean, varsayılan
false) – alanın içinde küçük bir temizleme düğmesi göster.password (boolean, varsayılan
false) – metni noktalar olarak gizle ve onu görünür kılmak için bir göz düğmesi ekle.
Kaydeder: bir string.
Bir mask ve bir regex, her ikisi de alanın kabul edeceği şeyi karşıt açılardan kısıtlar – bir maske metnin düzenini sabitler, bir regex ise içeriğini kısıtlar. Bunlardan herhangi birine sahip bir alan, bir Save işlemini engelleyebilen tek denetimdir: metni eksikse veya eşleşmiyorsa, düzenleyici alanı label değerine göre listeler ve düzeltilene veya temizlenene kadar kaydetmeyi reddeder. Bir alanda ikisinden en fazla birini kullanın.
13.1.13.4.2.7.1. Giriş maskeleri#
Bir mask alanı karakter karakter sabitler: ayırıcılar kullanıcı için çizilir, kullanıcı yalnızca boşlukları doldurur. Her maske karakteri bir giriş konumunu temsil eder:
9– gerekli bir rakam;0– isteğe bağlı bir rakam.A/a– gerekli / isteğe bağlı bir harf.N/n– gerekli / isteğe bağlı bir harf veya rakam.X/x– her türden gerekli / isteğe bağlı bir karakter.H/h– gerekli / isteğe bağlı bir onaltılık rakam.>/<– takip eden harfleri büyük / küçük harfe çevirir;!dönüşümü durdurur.
Diğer herhangi bir karakter – 000.000.000.000 içindeki ., bir seri numarasındaki bir - – birebir bir ayırıcıdır: otomatik olarak yerleştirilir ve kullanıcı yazarken atlanır. Bir maske karakterini birebir olarak kullanmak için önüne bir ters eğik çizgi koyun.
Sona yakın bir ; doldurulmamış konumlar için gösterilen yer tutucuyu ayarlar: "000.000.000.000;_" boş bir alanı ___.___.___.___ olarak gösterir. Onu bırakırsanız boşluklar boşluk karakteridir. Herhangi bir gerekli konum hala boşken giriş eksiktir, bu da Save işlemini engeller.
13.1.13.4.2.7.2. Düzenli ifadeler#
Bir regex düzen yerine içeriği denetler ve kural sabit bir alan yerine “bu karakterler, bu desen” olduğunda daha uygundur. Tüm girişin eşleşmesi gerekir – ifade her iki uçta da sabitlenir, dolayısıyla "[A-Za-z0-9-]+" baştan sona yalnızca harfler, rakamlar ve tireler anlamına gelir, yalnızca “bir tane içerir” değil.
Denetim her tuş vuruşunda çalışır. Metin hala tam bir eşleşmeye büyüyebildiği sürece bir karakter kabul edilir ve büyüyemediği anda reddedilir, dolayısıyla kullanıcı asla yazarak geçersiz bir şeye ulaşamaz. Alan yalnızca tüm ifade eşleştiğinde geçerli sayılır – ve Save izin verilir; oraya giden yolda kısmi bir giriş yerinde kalır ancak tamamlanana kadar Save işlemini engeller.
Bir deseni oluşturmak ve test etmek için, regex101.com siz yazarken her bölümü açıklar – türünü, düzenleyicinin kullandığı söz dizimi olan PCRE2 olarak ayarlayın.