[Ruby] ruby-gtk, нужно динамически перерисовать
Vladimir V. Zdorovenco
halflife at moldova.cc
Mon Feb 10 11:24:09 MSK 2003
Всем привет!
Нарисовал на видгете линию, как я понял после этого надо queue_draw вызвать,
вызвал, но почему-то ничего не перерисовывается. Так-же пробовал совсем мне
непонятные draw, redraw, update - безрезультатно. Оно перерисовывается, но
после того как по нему мошкой поклацаеш.
# -------------------------------------------------------------------->
require 'gtk2'
Gtk.init
w = Gtk::Window.new(Gtk::Window::TOPLEVEL)
da = Gtk::DrawingArea.new
w.signal_connect("delete_event") { exit }
w.signal_connect("destroy_event") { exit }
w.realize
w.set_title("Network Flow chart")
w.add da
$b = Gdk::Pixmap::new(da.window, 300, 300, -1)
def expose(wd, e)
wd.window.draw_drawable(wd.style.black_gc, $b, 0, 0,
0, 0, -1, -1)
print 'expose signal', "\n"
return false
end
da.signal_connect("expose_event") { |w, e| expose(w, e) }
Thread.new {
while (true) do
$b.draw_line(w.style.white_gc,
rand(200), rand(300),
rand(200), rand(300))
da.queue_draw
print 'drawing line', "\n"
sleep 1
end
}
da.show
w.show
Gtk::main()
# <--------------------------------------------------------------------
Кстати, кто какого мнения о оной штуке ? Мне так и неудалось толком
разобратся, хотя у них примеров куча, в мыллисте тоже ничего не нашел.
ЗЫЖ
Ruby1.6.8, gtk2.0.2, может рано еще Ruby/gtk2 юзать ?
--
Всего хорошего,
Владимир (e-mail: halflife at moldova doc cc)
Get your personal e-mail for FREE at http://www.moldovacc.com
More information about the Ruby
mailing list