Thread [WxPerl] Ausgaben in der Statusbar
(8 answers)
Opened by MarkusH at 2013-03-31 17:11
repost, dein code leicht geändert mit lösung.
schau dir bitte an wie hier klassen verwendet werden. Das ist wesentlich sauberer. Normaler coder, der in symboltabelle greift, wenn sichs vermeiden lässt, ist keine gute Idee. Manchmal ist es nützlich und dann kapselt man es in eine routine aber nicht im hauptcode und und nicht mit der anonymen subref wo man normal nicht gleich versteht was da geht. Code (perl): (dl
)
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 #!/usr/bin/perl -w -- # generated by wxGlade 0.6.5 (standalone edition) on Sun Mar 31 21:41:44 2013 # To get wxPerl visit http://wxPerl.sourceforge.net/ use v5.12; package MyApp; use Wx qw/ :everything /; use base qw(Wx::App); sub OnInit { my $app = shift; my $frame = MyFrame->new( undef, wxDEFAULT, 'Test'); $frame->Show(1); $app->SetTopWindow($frame); 1; } package MyFrame; use Wx qw[:everything]; use base qw(Wx::Frame); my @loginBitmaps = (Wx::Bitmap->new("arrow_2_blue__disable.xpm", wxBITMAP_TYPE_ANY), Wx::Bitmap->new("arrow_2_green.xpm", wxBITMAP_TYPE_ANY)); Wx::InitAllImageHandlers(); sub new { my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_; $parent = undef unless defined $parent; $id = -1 unless defined $id; $title = "" unless defined $title; $pos = wxDefaultPosition unless defined $pos; $size = wxDefaultSize unless defined $size; $name = "" unless defined $name; $style = wxDEFAULT_FRAME_STYLE unless defined $style; $self = $self->SUPER::new( $parent, $id, $title, $pos, $size, $style, $name ); # Menu Bar $self->{menubar} = Wx::MenuBar->new(); my $wxglade_tmp_menu; $wxglade_tmp_menu = Wx::Menu->new(); $wxglade_tmp_menu->Append(Wx::NewId(), "Import", ""); $wxglade_tmp_menu->Append(Wx::NewId(), "export", ""); $wxglade_tmp_menu->AppendSeparator(); $wxglade_tmp_menu->Append(Wx::NewId(), "Beenden", ""); $self->{menubar}->Append($wxglade_tmp_menu, "Test"); $self->SetMenuBar($self->{menubar}); # Tool Bar $self->{toolbar} = Wx::ToolBar->new($self, -1, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL|wxTB_TEXT|wxTB_HORZ_LAYOUT|wxTB_HORZ_TEXT); $self->SetToolBar($self->{toolbar}); $self->{toolbar}->AddTool(Wx::NewId(), "Login", $loginBitmaps[0], wxNullBitmap, wxITEM_CHECK, "Einloggen", "lange hilfe"); $self->{toolbar}->AddSeparator(); $self->{toolbar}->AddTool(Wx::NewId(), "item", wxNullBitmap, wxNullBitmap, wxITEM_NORMAL, "", ""); # Status Bar $self->{statusbar} = $self->CreateStatusBar(2, 0); $self->{statusbar}->SetStatusWidths(80,-1); $self->SetStatusBarPane( 1 ); my( @statusbar_fields ) = qw(loginTimer status); if( @statusbar_fields ) { $self->{statusbar}->SetStatusText($statusbar_fields[$_], $_) for 0 .. $#statusbar_fields ; } $self->{toolbar}->Realize(); $self->Layout(); return $self; } package main; MyApp->new->MainLoop; Last edited: 2013-04-02 11:32:27 +0200 (CEST) Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher Es beginnt immer mit einer Entscheidung. |