[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