Perl 5.10 de ActiveState vienen pre-compilado con Tkx que es una plataforma Gui. Puede descargar Perl Tk si desea un módulo con más ejemplos web. Cualquiera que sea el módulo que use, puede descargar GUIbuilder de sourceforge y escribe bastante bien el código Tk o Tkx para perl, y el código Tk para python, ruby.
Este código se ha generado en gran medida por GUIBuilder como un ejemplo de código de salida:
use Tkx;
Tkx::package_require('BWidget');
sub example::ui {
my($root) = @_;
my($_entry_box) = $root->new_entry(
-width => 0,
);
my($_text_box) = $root->new_text(
-height => 0,
-width => 0,
);
my($_label) = $root->new_label(
-text => "Hello World",
);
my($_textbox_horiz_scrollbar) = $root->new_scrollbar(
-orient => "horizontal",
);
my($_textbox_vert_scrollbar) = $root->new_scrollbar(
);
my($_Start_Button) = $root->new_Button(
-text => "Start",
-width => 10,
);
my($_Stop_Button) = $root->new_Button(
-text => "Stop",
-width => 10,
);
$_entry_box->configure(
-invalidcommand => \&_entry_box_invalidcommand
);
$_entry_box->configure(
-validatecommand => \&_entry_box_validatecommand
);
$_entry_box->configure(
-xscrollcommand => \&_entry_box_xscrollcommand
);
$_text_box->configure(
-xscrollcommand => [ $_textbox_horiz_scrollbar => set ]
);
$_text_box->configure(
-yscrollcommand => [ $_textbox_vert_scrollbar => set ]
);
$_textbox_horiz_scrollbar->configure(
-command => [ $_text_box => xview ]
);
$_textbox_vert_scrollbar->configure(
-command => [ $_text_box => yview ]
);
$_Start_Button->configure(
-armcommand => \&_Start_Button_armcommand
);
$_Start_Button->configure(
-command => \&_Start_Button_command
);
$_Start_Button->configure(
-disarmcommand => \&_Start_Button_disarmcommand
);
$_Stop_Button->configure(
-armcommand => \&_Stop_Button_armcommand
);
$_Stop_Button->configure(
-command => \&_Stop_Button_command
);
$_Stop_Button->configure(
-disarmcommand => \&_Stop_Button_disarmcommand
);
sub _entry_box_xscrollcommand {}
# Geometry Management
$_entry_box->g_grid(
-in => $root,
-column => 1,
-row => 2,
-columnspan => 3,
-ipadx => 0,
-ipady => 0,
-padx => 0,
-pady => 5,
-rowspan => 1,
-sticky => "ew"
);
$_text_box->g_grid(
-in => $root,
-column => 1,
-row => 3,
-columnspan => 2,
-ipadx => 0,
-ipady => 0,
-padx => 0,
-pady => 0,
-rowspan => 1,
-sticky => "news"
);
$_label->g_grid(
-in => $root,
-column => 1,
-row => 1,
-columnspan => 3,
-ipadx => 0,
-ipady => 0,
-padx => 0,
-pady => 0,
-rowspan => 1,
-sticky => "ew"
);
$_textbox_horiz_scrollbar->g_grid(
-in => $root,
-column => 1,
-row => 4,
-columnspan => 2,
-ipadx => 0,
-ipady => 0,
-padx => 0,
-pady => 0,
-rowspan => 1,
-sticky => "ew"
);
$_textbox_vert_scrollbar->g_grid(
-in => $root,
-column => 3,
-row => 3,
-columnspan => 1,
-ipadx => 0,
-ipady => 0,
-padx => 0,
-pady => 0,
-rowspan => 1,
-sticky => "ns"
);
$_Start_Button->g_grid(
-in => $root,
-column => 1,
-row => 5,
-columnspan => 1,
-ipadx => 0,
-ipady => 0,
-padx => 0,
-pady => 0,
-rowspan => 1,
-sticky => ""
);
$_Stop_Button->g_grid(
-in => $root,
-column => 2,
-row => 5,
-columnspan => 2,
-ipadx => 0,
-ipady => 0,
-padx => 0,
-pady => 0,
-rowspan => 1,
-sticky => ""
);
# Resize Behavior
$root->g_grid_rowconfigure(1, -weight => 0, -minsize => 2, -pad => 0);
$root->g_grid_rowconfigure(2, -weight => 0, -minsize => 12, -pad => 0);
$root->g_grid_rowconfigure(3, -weight => 1, -minsize => 85, -pad => 0);
$root->g_grid_rowconfigure(4, -weight => 0, -minsize => 4, -pad => 0);
$root->g_grid_rowconfigure(5, -weight => 0, -minsize => 40, -pad => 0);
$root->g_grid_columnconfigure(1, -weight => 1, -minsize => 67, -pad => 0);
$root->g_grid_columnconfigure(2, -weight => 1, -minsize => 186, -pad => 0);
$root->g_grid_columnconfigure(3, -weight => 0, -minsize => 2, -pad => 0);
}
my($root) = Tkx::widget->new('.');
$root->g_wm_title('stackoverflow');
example::ui($root);
Tkx::MainLoop();
1;
"nuestro" se ha depreciado ... hmmm –
Disculpe, pero se generó código. Sin embargo, encontrar y reemplazar "nuestro" para "mi" parece una solución bastante fácil. – Akers
Ape-inago: "our" no está en desuso. Solo si usa perl 5.5.4, advertirá que es una palabra clave futura. –