Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1694765
  • 博文数量: 362
  • 博客积分: 10587
  • 博客等级: 上将
  • 技术积分: 4098
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-10 18:15
文章分类

全部博文(362)

文章存档

2014年(1)

2013年(58)

2011年(115)

2010年(112)

2009年(76)

分类: PERL

2013-03-08 22:00:28

PerlMonks_tutorial_1.pl


  1. #!/usr/bin/perl

  2. #author: zhengsenlin
  3. #date: 2013-03-06
  4. #desc: Wx ok

  5. use 5.016;
  6. use strict;
  7. use warnings;
  8. use autodie;
  9. use Wx;

  10. package MyFrame;
  11. use base 'Wx::Frame';
  12. use Wx qw(
  13.     :id
  14.     :toolbar
  15.     wxNullBitmap
  16.     wxDefaultPosition
  17.     wxDefaultSize
  18.     wxDefaultPosition
  19.     wxDefaultSize
  20.     wxNullBitmap
  21.     wxTB_VERTICAL
  22.     wxSIZE
  23.     wxTE_MULTILINE
  24.     wxBITMAP_TYPE_BMP
  25. );

  26. use Wx::Event qw(
  27.     EVT_SIZE
  28.     EVT_MENU
  29.     EVT_COMBOBOX
  30.     EVT_UPDATE_UI
  31.     EVT_TOOL_ENTER
  32. );

  33. sub new {
  34.     my $ref = shift;

  35.     my $self = Wx::Frame->new(
  36.         undef,
  37.         -1,
  38.         'A Wx Frame',
  39.         [-1, -1],
  40.         [500, 300],
  41.     );

  42.     my( $ID_TOOLBAR, $ID_COMBO ) = ( 1 .. 100 );
  43.     
  44.     my(
  45.         $IDM_FILE_OPEN,
  46.           $IDM_FILE_CLOSE,
  47.      ) = ( 10_000 .. 10_100 );
  48.     
  49.     my $file_menu = Wx::Menu->new();

  50.     my @file_menu_entries = ([$IDM_FILE_OPEN,"&OpentCtrl-O","Open" ],
  51.                              ['-'],
  52.                              [wxID_EXIT, "E&xittCtrl-X", "Exit $0"]
  53.     );

  54.     foreach (@file_menu_entries) {
  55.         if ($$_[0] eq '-') {
  56.             $file_menu->AppendSeparator();
  57.         } else {
  58.             $file_menu->Append($$_[0],$$_[1],$$_[2])
  59.         }
  60.     }
  61.     my $menubar = Wx::MenuBar->new();
  62.     $menubar->Append ($file_menu, '&File');
  63.     $self->SetMenuBar ($menubar);

  64.     EVT_MENU( $self, wxID_EXIT, sub {$_[0]->Close( 1 )} );

  65.     return $self;
  66. }

  67. package MyApp;
  68. use base 'Wx::App';
  69. sub OnInit {
  70.     my $frame = MyFrame->new;
  71.     $frame->Show;
  72. }

  73. package main;
  74. my $app = MyApp->new;
  75. $app->MainLoop;


阅读(682) | 评论(0) | 转发(0) |
0

上一篇:ubuntu安装lamp

下一篇:PerlMonks_tutorial_2

给主人留下些什么吧!~~