Leser: 1
1 Eintrag, 1 Seite |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
#!/usr/bin/perl -w use strict; use warnings; use POSIX; use Glib qw/TRUE FALSE/; use Gtk2 '-init'; use utf8; use Gnome2; # gewünschte Schriftart in der Menüzeile my $font = "Sans 14"; # Wir basteln uns ein Fensterchen my $window = Gtk2::Window->new('toplevel'); $window->set_title("Test"); $window->set_position('center'); $window->signal_connect('delete_event' => sub { Gtk2->main_quit; }); $window->set_default_size (250, 150); # und fügen ein Menü hinzu... my @menu_items = ( [ "/_Menu", undef, undef, 0, "<Branch>" ], [ "/Menu/_Neu", "<control>N", \&dummy, 0, "<StockItem>", 'gtk-new' ], [ "/Menu/_Öffnen", "<control>O", \&dummy, 0, "<StockItem>", 'gtk-open' ], [ "/Menu/_Speichern", "<control>S", \&dummy, 0, "<StockItem>", 'gtk-save' ], [ "/Menu/_Speichern als", undef, \&dummy, 0, "<StockItem>", 'gtk-save-as' ], [ "/Menu/_Quit", "<control>Q", \&quit, 0, "<StockItem>", 'gtk-quit' ],); # mit Tastaturbefehlen usw. alles was das Herz begehrt... my $accel_group = Gtk2::AccelGroup->new; $window->add_accel_group ($accel_group); my $item_factory = Gtk2::ItemFactory->new ("Gtk2::MenuBar", "<main>", $accel_group); $window->{'<main>'} = $item_factory; $item_factory->create_items ($window, @menu_items); my $menu = $item_factory->get_widget('<main>'); # Alles??? Nein, modify_bg klappt $menu->modify_bg('normal', Gtk2::Gdk::Color->new(65535,65535,0)); # aber diese zwei Zeilen mag er nicht... # hier will ich die Schriftfarbe ändern $menu->modify_fg('normal', Gtk2::Gdk::Color->new(65535,0,0)); # und hier die Schrift $menu->modify_font( Gtk2::Pango::FontDescription->from_string($font)); # Wir packen das Ganze computergerecht zusammen my $vbox=Gtk2::VBox->new(0,0); $window->add($vbox); $vbox->pack_start($menu,0,0,0); my $label = Gtk2::Label->new(""); $vbox->pack_start($label,0,0,0); $window->show_all; Gtk2->main; # und geben dem Ganzen einen seriösen Anstrich ?! sub dummy { $label->set_text(" Wenn das Programm richtig läuft, stehen hier die Lottozahlen vom nächsten Samstag! BUT WITHOUT ANY WARRANTY");} sub quit { Gtk2->main_quit; }
1 Eintrag, 1 Seite |