Portál AbcLinuxu, 14. května 2025 00:01
#!/usr/bin/python # vim: set fileencoding=utf-8 : from gi.repository import Gtk, GLib from math import fmod tstart = GLib.get_real_time() text = u'<span size="20000" weight="bold">Je to možné? Niekto hľadá <u>marquee</u>! Ve Windows bych to snadno naprogramoval třeba ve <span color="red">Visual Basicu</span>, ale v Linuxu to neumím. </span>' def draw(wid, cr): cr.save() cr.set_source_rgb(1.0,1.0,1.0) cr.paint() cr.restore() tnow = GLib.get_real_time() pl = wid.create_pango_layout('') pl.set_markup(text) ww = wid.get_allocated_width() w,h = pl.get_pixel_size() x = (tnow - tstart)/1e6 * 150.0 + (w - ww) x = w - fmod(x, w) ctx = wid.get_style_context() if x > ww: Gtk.render_layout(ctx, cr, x-w, 0, pl) else: Gtk.render_layout(ctx, cr, x, 0, pl) Gtk.render_layout(ctx, cr, x-w, 0, pl) return True def redraw(wid): wid.queue_draw() return True win = Gtk.Window(Gtk.WindowType.TOPLEVEL) win.set_default_size(600,40) win.set_has_resize_grip(False) win.connect('destroy', Gtk.main_quit) win.connect('draw', draw) win.show_all() GLib.timeout_add(20, redraw, win) Gtk.main()Ne, není to kompletní program včetně zadávání z příkazové řádky a pod., protože si fungování budeš muset upravovat tak jako tak.
jen do prostého rámečku, bez ovládacích prvků, bez menu, stavového řádku apod.To všetko sa dá s browserom urobiť.
Co gambas ? To je podobné tomu tvému visualu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.