Я довольно новичок в python, но я провел последнюю неделю, пытаясь написать программное обеспечение для визуализации какой-то утомительной штуки.
Основная кинематика: пользователь вводит всю необходимую информацию в графический интерфейснажмите «Продолжить», и у меня есть другая большая функция для генерации всей графики.
Это работало, но проблема заключалась в том, что когда я запускал функцию, которая длится около 2 минут, окно tkinter зависало.Я прочитал, что я должен использовать темы.Потом я нашел это: http://uucode.com/texts/pylongopgui/pyguiapp.html Это пример, который в основном делает то, что я хочу, плюс некоторые другие вещи.
Я сейчас пытаюсь адаптировать свой код, чтобы он соответствовал этому.
И вот моя проблема: кажется, что все работает нормально, за исключением того, что в какой-то момент в моей функции появляется новое окно с именем "tk", и все останавливается.
Все останавливается в этот момент:
# On trace les fils de chaine
for i in range(0, Couches_Trame + 1):
t = np.arange(0, np.pi, 0.1)
plt.figure(i)
plt.title('Plan de Trame ' + str(i+1), fontsize = '16')
ax = plt.gca()
ax.yaxis.set_visible(False)
ax.xaxis.set_visible(False)
plt.axis([-1, Plans, Fils_Chaine + 1, -1])
for j in range(0,Plans):
for k in range(0,Fils_Chaine):
plt.fill_between(np.cos(t)/8+j, np.sin(t+np.pi)/8+k+0.5, \
np.sin(t)/8+k+0.5, color='r')
plt.savefig('Blabla'+int(i))
plt.figure(Couches_Trame)
plt.title('Plan de Trame: Projection')
Когда я запускаю его напрямую, без использования Tkinter, все работает нормально, поэтому я понятия не имею, с чем это связано.
Также я попытался заменить этот фрагмент кода бесконечным циклом следующим образом:
i=1
while i > 0:
i=i+1
print(i)
Это работает и ничего не замерзает.Но потом я попробовал это:
i=1
while i > 0:
i=i+1
plt.plot((i,i))
И все зависает, и окно, называемое "tk", всплывает и мгновенно зависает.
Я где-то читал, что это может быть конфликт между Tkinter иБэкэнд matplotlib, но это все, и это мне не сильно помогло.
Редактировать: я не знаю, поможет ли это, но я использую Python Portble 2.7.2.1