Форум сайта python.su
1
Как включить fullscreen непосредственно из кода?
Есть вот такой код, рисующий ступеньку:
# -*- coding: utf-8 -*-
import math
import pylab
a = 6.0
dx = 0.1
x0=0
x1=30
dt = 0.01
t0=0
t1=2
Nx = int((x1-x0)/dx)
Nt = int((t1-t0)/dt)
Up = 4.0
Down = 1.2
start_pos=20
pylab.ion()
for n in range (Nt):
pylab.clf()
#stage
pylab.plot ([0, start_pos],[Up,Up],'v-')
pylab.plot ([start_pos, Nx], [Down,Down],'v-')
pylab.plot ([start_pos, start_pos],[Up,Down],'v-')
start_pos = start_pos+(dt*a/dx)
pylab.draw()
pylab.close()
Офлайн
14
Вы используете инструмент не по назначению.
pylab создан для того, чтобы подготовить всю информацию и потом нарисовать график(и).
Анимацию он делать не умеет. pylab.draw() в цикле ведет к тому, что взаимодействие с пользователем висит.
Короче говоря, если вам нужна анимация картинки - используйте что-то другое.
Офлайн
1
Да, я использую для анимации pylab, и показал это кодом движущейся ступеньки…
Вот как раз и хотелось бы полноэкранную анимацию средствами pylab.
потому что не встретил более удобных библиотек для создания 2D-анимации.
Отредактировано (Сен. 23, 2010 12:07:59)
Офлайн
14
Еще раз повторяю, это - не то.
Возьмите, к примеру, Qt.
Заведите таймер и по нему перерисовывайте виджет.
Офлайн
1
Qt слишком хардкорно, обошелся модулем vpython (там есть подмодуль для отрисовки 2D графики),
рекомендую новичкам.
Офлайн
3
SpectralТо, что надо. Можно в качестве альтернативы взять pygame, или pyglet. Они хоть и ориентируются на игровые проекты, но в конечном счете какая разница, что рисовать.
vpython
Офлайн