Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 23, 2014 02:48:04

Strelok-den
Зарегистрирован: 2014-03-25
Сообщения: 63
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter и import в __init__.py

4kpt_III
Не знаю. Не пользовался. Попробуйте. Если поможет, то напишите - буду знать. Вообще многопоточность в tkinter реализуется не так. Главный mainloop нужно откреплять от тредовой системы. Я об этом писал. Приводил примеры. Можете поискать. Не найдете - напишите. Выложу код снова.P.S. Мне хватало стандартных возможностей. Я просто использовал с учетом специфических особенностей tkinter.
Сейчас нету времени пробовать, к сожалению, но как что то разузнаю сообщу)
Оно бы и хватало, если бы сразу правильно писалось.. А переписывать 1000+ строк оказалось не просто… Плюс пришлось добавить ttk ибо дефолтный стиль ткинтер бее…

Что то я ничего не нашел( не так ищу видимо..

P.s. Все таки попробую qt, может он и приглянется) но это позжэ..)

Офлайн

#2 Дек. 23, 2014 10:28:13

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Tkinter и import в __init__.py

Нашел. Я же Вам писал. Тема tkinter и threading…

Офлайн

#3 Дек. 23, 2014 12:11:47

Strelok-den
Зарегистрирован: 2014-03-25
Сообщения: 63
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter и import в __init__.py

4kpt_III
Нашел. Я же Вам писал. Тема tkinter и threading…

Ну говорюж не то искал) спасибо)
Так и реализовано.

Что бы не создавать новую тему 2 маленьких вопроса:
В каком случаи нужно использовать root.after(100, func)? Веть при присвоении лабель новый текст(например) и так обновляеться текст…
И 2-ой в чем отличие у буттон command от bind кроме указания кнопки(действия)?


Офлайн

#4 Дек. 23, 2014 14:10:55

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Tkinter и import в __init__.py

Первый вопрос. root.after() нужен для отделения loop GUI от тредов.
Отличие большое. Сделайте

def call(event=None):
    time.sleep(5)
but1.bind("<Button-1>", call)
but2["command"] = call

Разница будет очевидна…

Офлайн

#5 Дек. 23, 2014 20:32:31

Strelok-den
Зарегистрирован: 2014-03-25
Сообщения: 63
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter и import в __init__.py

4kpt_III
root.after() нужен для отделения loop GUI от тредов.
Ничего не понял…

И еще вопросик опять возник.. или создать новую тему?
Вот этот код работает, т.е выделяется радиобуттон:
root = Tk()
var_set = IntVar()
var_set.set(0)
rb = Radiobutton(root, text='vopros', value=0, variable=var_set)#, indicatoron=1
rb.grid()
def tt():
    var_set.set(0)
    rb.select()
tt()
root.mainloop()
А вот этот не работает, радиобуттон не выделяется в чем проблема?(:
root = Tk()
def tt():
    var_set = IntVar()
    var_set.set(0)
    rb = Radiobutton(root, text='vopros', value=0, variable=var_set)#, indicatoron=1
    rb.select()
    rb.grid()
tt()
root.mainloop()

Офлайн

#6 Дек. 23, 2014 20:40:10

Strelok-den
Зарегистрирован: 2014-03-25
Сообщения: 63
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter и import в __init__.py

4kpt_III
Отличие большое. Сделайте

def call(event=None):
time.sleep(5)
but1.bind(“<Button-1>”, call)
but2 = call

Разница будет очевидна…

На мак ос разницы не заметил..

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version