Perl Mindices :: La fenêtre d'interface utilisateur ne dessine pas tous les widgets
-
29-10-2019 - |
Question
J'utilise les malédictions de Perl :: UI pour construire une interface utilisateur pour un script assez simple. Cependant, tout ce que j'ajoute à une fenêtre n'est pas tiré. Seules deux choses sont dessinées, le premier widget ajouté et quel que soit le premier widget à se concentrer. Exécutant le code ci-dessous, seul le premier TextViewer, puis le bouton sont dessinés. Les 2e et 3e TextViewers (pour les deux fenêtres) ne sont pas dessinés. Si je les rend focalisés, puis à eux, ils s'adaptent à eux, ils sont dessinés. Qu'est-ce que je fais mal?
#!/usr/bin/perl -w
use Curses::UI;
my $cui = new Curses::UI;
my $win = $cui->add(
'window','Window',
-border => 1,
-title => 'Test Big Window'
);
$win->add(
'test0','TextViewer',
-x => 1,
-y => 1,
-text => 'test0',
-focusable => 0
);
$win->add(
'test1','TextViewer',
-x => 1,
-y => 2,
-text => 'test1',
-focusable => 0
);
$win->add(
'test2','TextViewer',
-x => 1,
-y => 3,
-text => 'test2',
-focusable => 0
);
$win->add(
'winButtons','Buttonbox',
-x => 1,
-y => 4,
-buttons => [{-label=>'sub_window',-onpress=>sub{show_win2($win);}}]
);
sub show_win2 {
$win = shift;
my $win2 = $win->add(
'window2','Window',
-border => 1,
-title => 'Test Little Window',
-centered => 1,
-height => 20,
-width => 40
);
$win2->add(
'test3','TextViewer',
-x => 1,
-y => 1,
-text => 'test3',
-focusable => 0
);
$win2->add(
'test4','TextViewer',
-x => 1,
-y => 2,
-text => 'test4',
-focusable => 0
);
$win2->add(
'test5','TextViewer',
-x => 1,
-y => 3,
-text => 'test5',
-focusable => 0
);
my $buttons = $win2->add(
'addOutputButtons','Buttonbox',
-buttonalignment => 'right',
-bg => -1,
-fg => -1,
-y => 4,
-buttons => [{-label=>'Exit',-onpress=>sub{exit(0);}}]
);
$win2->modalfocus();
}
$cui->mainloop();
$win->modalfocus();
Ps y a-t-il un moyen plus facile d'insérer des blocs de code comme ça, en plus d'ajouter manuellement 4 espaces avant chaque ligne ??
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow