Bileşenler
Bileşenler, kullanıcıların parametreleri yapılandırmasına veya özelleştirilmiş widget'ınızdan sonuçları görmesine olanak tanıyan etkileşimli widget'lardır.
Genel Argümanlar
Genel argümanlar, tüm özel bileşenler için geçerlidir. Bunları yapıcıya anahtar kelime argümanları olarak sağlayabilirsiniz.
tooltip: str = ''
Metin Girişi
Kullanıcıların tek bir satır üzerinden metin/sayı girmesine olanak tanır.

Yapıcı:
TextInput
Anahtar Kelime Argümanları:
text: str = '5'
: Metin Girişi'nin varsayılan değeri
place_holder: str = ''
: Metin Girişi boş olduğunda gösterilecek metin.
Öznitelikler-Yöntemler
text -> str
: Metin Girişi'nde yazılı olan mevcut metni alır.
Örnek:
class Example_Block(Block):
...
def init(self):
...
self.param['text1'] = TextInput(text= '5',
place_holder='Bir sayı girin',
tooltip='Sabit tanımlar')
def run(self):
...
raw_constant: str = self.param['text1'].text
constant: int = int(raw_constant) # tamsayıya dönüştürme
...
Açılır Liste
Açılır listeler, kullanıcıların sağlanan metin listesinden bir seçenek seçmesine olanak tanır.

Yapıcı:
DropDown
Anahtar Kelime Argümanları:
items: list[str, ...] = ['item1', 'item2', 'item3']
: Açılır listede gösterilecek metinler listesi.
Öznitelikler-Yöntemler:
selected_item -> str
: Seçilen öğe metnini döndürür. Metin yoksa ''
döner.
selected_index -> int
: Seçilen öğeyi tam sayı olarak döndürür. Öğe yoksa 0
döner.
Örnek:
class Example_Block(Block):
...
def init(self):
...
self.param['drop_down'] = DropDown(items=['Yöntem 1', 'Yöntem 2', 'Yöntem 3'],
tooltip='Yöntem Seç')
def run(self):
...
raw_constant: int = self.param['drop_down'].selected_index()
if raw_constant == 0:
...
Etiket
Etiketler, özel bloğunuzda statik veya dinamik metin göstermek için basit metin tabanlı bileşenlerdir.

Ayrıca etkileşimli bileşenler hakkında bilgi vermek için kullanılır:

Yapıcı:
Label
Anahtar Kelime Argümanları:
text: str = ''
: Açılır listede gösterilecek metinler.
Öznitelikler-Yöntemler:
set_text(text: str)
: Etiketin metnini ayarlayın.
Örnek:
class Example_Block(Block):
...
def init(self):
...
self.param['label'] = Label(text='Sonuç: Belirlenmedi',
tooltip='Ortalama değeri gösterir')
def run(self):
...
self.param['label'].set_text(f'Sonuç: {n}')
...
Kaydırıcı
Kullanıcı girişini bir sayı aralığı ile sınırlar.

Yapıcı:
Slider
Anahtar Kelime Argümanları:
min: int = -5
: Kaydırıcıda gösterilecek minimum değer.
max: int = 5
: Maksimum değer.
val: int = 3
: Başlangıç değeri.
Öznitelikler-Yöntemler:
value -> int
: Kaydırıcının mevcut değeri.
Örnek:
class Example_Block(Block):
...
def init(self):
...
self.param['slider'] = Slider(min=-5, max=5, val=3)
def run(self):
...
threshold: int = self.param['slider'].value
...
Etiketli Kaydırıcı
Kaydırıcı ile aynı, ancak bileşende hangi değerin gösterildiğini otomatik olarak gösteren bir etiket ekler.

Yapıcı:
SliderLabeled
Anahtar Kelime Argümanları:
min: int = -5
: Kaydırıcıda gösterilecek minimum değer.
max: int = 5
: Maksimum değer.
val: int = 3
: Başlangıç değeri.
label: str ="Değer"
: Gösterilecek etiket metni.
multiplier: float | int = 1
: Gösterilen değeri eklemeden önce çarpar. Bunu add
ile kullanarak, isterseniz tek sayıları göstermenize olanak tanır.
add: float | int = 0
: Çarptıktan sonraki eklenen değer.
Öznitelikler-Yöntemler:
value -> int
: Kaydırıcının mevcut ham değeri.
modifiedValue -> int | float
: Kaydırıcının mevcut değiştirilmiş değeri.
Örnek:
class Example_Block(Block):
...
def init(self):
...
self.param['threshold_odd'] = SliderLabeled(min= -5, max= 5, val= 3, label="Değer", multiplier = 2, add = -1)
def run(self):
...
threshold_odd: int = self.param['threshold_odd'].modifiedValue
...
Onay Kutusu
Mantıksal durum girişi sağlar.

Yapıcı:
CheckBox
Anahtar Kelime Argümanları:
text: str = ''
: Onay kutusunun yanında gösterilecek metin.
Öznitelikler-Yöntemler:
is_checked -> str
: Etiketin metnini ayarlayın.
Örnek:
class Example_Block(Block):
...
def init(self):
...
self.param['gray_mode'] = CheckBox(text='Gri Mod')
def run(self):
...
flag_gray: bool = self.param['gray_mode'].is_checked
...
Düğme
Fare tıklaması ile script'inizde bir olayı tetikler. Bu bileşen, senaryonuzdaki özel bloklar için kaynak yönetimi açısından da oldukça faydalıdır.

Yapıcı:
Button
Anahtar Kelime Argümanları:
text: str = ''
: Onay kutusunun yanında gösterilecek metin.
Öznitelikler-Yöntemler:
set_clicked_callback(callback: Callable)
: Düğmeye her tıklandığında tetiklenecek geri çağırma fonksiyonunu ayarlayın.
Örnek:
...
class Example_Block(Block):
...
file_path: str = ''
def init(self):
...
self.param['Dosya Seç'] = Button(text= 'Dosya Seç')
self.param['Dosya Seç'].set_clicked_callback(load_image)
def load_image(self):
path = QAFileDialog.getOpenFileName(caption='Görüntü Yükle',
directory='C:/Images',
filter='Görüntü Dosyaları (*.png *.jpg *.bmp)')
self.file_path = self.register_resource('image-path', path)
def run(self):
image_path = self.get_resource('image-path')
Yukarıdaki örnek, geri çağırmaları register_resource
ve get_resource
kullanarak kullanmaktadır.
Görüntü

Yapıcı:
Image
Anahtar Kelime Argümanları:
fixed_width: int = 80
: Görüntünün yüksekliği, Block.width
ile kullanılmak üzere en iyisidir.
fixed_height: int = 80
: Görüntünün genişliği, Block.height
ile kullanılmak üzere en iyisidir.
Öznitelikler-Yöntemler:
update(img: npt.NDArray[np.uint8])
: Üç veya bir boyutla gösterilen görüntüyü güncelleyin.
Örnek:
class Example_Block(Block):
...
def init(self):
...
self.param['Sonuç'] = Image(fixed_width=self.width-40,
fixed_height=self.height-80)
def run(self):
...
self.param['Sonuç'].update(np.zeros((60, 60, 3)))
...
Tablo
Birden fazla öğe/mod seçilmesine olanak tanır.

Yapıcı:
Table
Anahtar Kelime Argümanları:
items: list[str, ...] = ['item1', 'item2', 'item3']
: Tablo listesindeki gösterilecek metinlerin listesi.
Öznitelikler-Yöntemler:
items -> list[str, ...]
: Tüm öğelerin listesini alın.
selected_items -> list[str, ...]
: Seçilen öğelerin listesini alın.
set_items(items: list[str, ...])
: Öğeler listesini ayarlayın.
Örnek:
class Example_Block(Block):
...
def init(self):
...
self.param['Tespit Listesi'] = Table(items=['İnsan', 'Kedi', 'Köpek'])
def run(self):
...
detection_list: list[str, ...] = self.param['Tespit Listesi'].selected_items()
...
Last updated
Was this helpful?