Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Вопрос по Тк и "многопоточности" [RSS Feed]

#1 Авг. 29, 2013 22:49:17

nickmetal
Зарегистрирован: 2012-11-15
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по Тк и "многопоточности"

Здравствуйте! Вот есть у меня такое окно

я хочу, чтобы вот эти черные линии как бы двигались вниз, создавая иллюзию движения танка вверх

Танком я могу управлять вверх, вниз, влево, вправо. Но, я так понимаю, в то время, как я буду двигать танком, линии будут“ замораживаться”, т.е. пока я с танком не закончу, они не будут двигаться. Правильно ли я понял “однопоточность” в Тк? Как-то можно реализовать, что я хочу в Тк? За ранее спасибо

Отредактировано nickmetal (Авг. 29, 2013 22:51:00)

Офлайн

#2 Авг. 29, 2013 23:08:05

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Вопрос по Тк и "многопоточности"

Вы хотите, чтобы танк двигался независимо от движения полос? Я все правильно понял?



Офлайн

#3 Авг. 30, 2013 11:39:35

nickmetal
Зарегистрирован: 2012-11-15
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по Тк и "многопоточности"

4kpt, да, чтобы время движения танка полосы тоже двигались

Офлайн

#4 Авг. 30, 2013 15:35:40

Faer
Зарегистрирован: 2013-08-25
Сообщения: 25
Репутация: +  3  -
Профиль   Отправить e-mail  

Вопрос по Тк и "многопоточности"

nickmetal, напишите функции движения и запустите их в параллельных потоках. Вот пример:

from threading import Thread
def fun1():
    ...
def fun2():
    ...
th1=Thread(target=fun1,args=())
th2=Thread(target=fun2,args=())
th1.start()
th2.start()
В общем-то, ничего сложного. Подробнее о потоках можно почитать здесь.

Офлайн

#5 Авг. 30, 2013 20:55:50

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Вопрос по Тк и "многопоточности"

Faer
Хочу на это глянуть :)
У Tkinter своя мультипоточность и она немножко по-другому реализована.
Попробуйте, ради интереса, написать два потока. Один поток пусть выполняет 100 раз print “Pulse” каждые 10 секунд. А в другом потоке следайте так, чтобы можно было нажимать виджет кнопку и при этом выполнялся print “Button Bind”.



Офлайн

#6 Авг. 31, 2013 07:51:23

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Вопрос по Тк и "многопоточности"

Здесь потоки не нужны.

def after():
    root.after(111,after)
    обновить_линии()
    обновить_положение _танка_по_нажатым_кнопкам()
root.after(111,after)



Офлайн

#7 Авг. 31, 2013 09:59:30

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Вопрос по Тк и "многопоточности"

sp3
Я про это и написал :)

Мы это уже обсуждали с Griffon в разделе для экспертов.



Отредактировано 4kpt (Авг. 31, 2013 10:03:31)

Офлайн

  • Начало
  • » GUI
  • » Вопрос по Тк и "многопоточности"[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version