Tworzenie suwaków w pętli. [OpenCv]

0

Chciałbym dynamicznie tworzyć suwaki, slidery w pętli i z tego co wywnioskowałem python za każdym razem, gdy odnosi się callbacku change_slider wartością parametru thresh_name jest ostatnią wartość jaką uzyskał po wyjściu z for.

for thresh_name in qwe[i].keys():
            cv.createTrackbar( thresh_name, 'Sliders_%d' % i, qwe[i][thresh_name], 255, 
                                lambda x: change_slider(qwe, i, thresh_name, x) )

Dzięki za pomoc.😊.

1

" thresh_name ma wartość zawsze taką na jaką został ustawiony przy wyjściu z for", a jaką ma mieć? Jak taką Przekazałeś w lambdzie.

0

Jakby ktoś potrzebował, wykorzystałem domknięcie, closure dla zmiennej i.

def create_slid(thre, i, tn):
         return lambda x: chng_slid(thre, i, tn, x)
for tn in thre[i].keys():
         cv.createTrackbar(tn, 'sl%d' % i, thre[i][tn], 255,
           (lambda x: create_slid(thr, i, tn))(i))

Do ostatecznej wersji dodałem jeszcze partial wygląda to tak:


for tn in thre[i].keys():
         cv.createTrackbar(tn, 'sl%d' % i, thre[i][tn], 255,
           partial(chng_slid, thre, i, tn))

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0