Потоки в формах Python

я начинающий в питоне. У меня есть форма, я использую clr от http://pythonnet.github.io На форме есть кнопка которая будет выполнять определенные функции. Для того чтобы избежать замерзания формы, я использую threading. Как правильно построить логику распределения потоков с кнопкой и с самой формой? Как я это представляю? записываем форму в поток и процедуру в другой поток , как я покажу в примере ниже, либо только процедуру которую будет выполнять кнопка? P.S про QT читал.

def showForm():
    window = Form()
    window.Text = "example"
    window.Size = Size(500, 300)
    window.FormBorderStyle = FormBorderStyle.FixedDialog

    LOAD_BUTTON = Button()
    LOAD_BUTTON.Text = "Load"
    LOAD_BUTTON.Dock = DockStyle.Right
    LOAD_BUTTON.Click += show
    window.Controls.Add(LOAD_BUTTON)
    Application.Run(window)



def show(sender,e):
    st = threading.Thread(target=show_loop)
    st.start()


def show_loop():
    for i in range(0, 5):
        time.sleep(i)
        print i


sv = threading.Thread(target=showForm)
sv.start()
sv.join()

Все работает если не ставить st.join() поскольку мне хочется узнать когда будет завершен поток. Как лучше это сделать?


Ответы (0 шт):