Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut être
pas un, je l'espère).
Voici un script exemple :
#!/usr/bin/perl
use warnings;
use strict;
use Carp;
use Tk;
use Tk::NoteBook;
my $Fenetre = new MainWindow(
-title => "test onglet",
-background => "white",
);
$Fenetre->minsize(200,200);
my $BlocNote = $Fenetre->NoteBook()->pack;
my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack( -
side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack( -
side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack( -
side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
foreach ($test1, $test2, $test3) {
my $Frame = $_->Labelframe(-label => "test",)->pack;
$Frame->Label(-text => "test",)->pack();
}
MainLoop;
Si on exécute ce script et qu'on se met sur l'onglet "test2" par
exemple. Tout fonctionne bien.
Augmentez le widget en cliquant sur le carré en haut à droite, ou bien
réduisez le widget via le - de la barre de progression, vous
constaterez que tous les onglets disparaissent.
Comment palier à ce problème ?
Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut être
pas un, je l'espère).
Voici un script exemple :
#!/usr/bin/perl
use warnings;
use strict;
use Carp;
use Tk;
use Tk::NoteBook;
my $Fenetre = new MainWindow(
-title => "test onglet",
-background => "white",
);
$Fenetre->minsize(200,200);
my $BlocNote = $Fenetre->NoteBook()->pack;
my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack( -
side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack( -
side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack( -
side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
foreach ($test1, $test2, $test3) {
my $Frame = $_->Labelframe(-label => "test",)->pack;
$Frame->Label(-text => "test",)->pack();
}
MainLoop;
Si on exécute ce script et qu'on se met sur l'onglet "test2" par
exemple. Tout fonctionne bien.
Augmentez le widget en cliquant sur le carré en haut à droite, ou bien
réduisez le widget via le - de la barre de progression, vous
constaterez que tous les onglets disparaissent.
Comment palier à ce problème ?
Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut être
pas un, je l'espère).
Voici un script exemple :
#!/usr/bin/perl
use warnings;
use strict;
use Carp;
use Tk;
use Tk::NoteBook;
my $Fenetre = new MainWindow(
-title => "test onglet",
-background => "white",
);
$Fenetre->minsize(200,200);
my $BlocNote = $Fenetre->NoteBook()->pack;
my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack( -
side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack( -
side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack( -
side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
foreach ($test1, $test2, $test3) {
my $Frame = $_->Labelframe(-label => "test",)->pack;
$Frame->Label(-text => "test",)->pack();
}
MainLoop;
Si on exécute ce script et qu'on se met sur l'onglet "test2" par
exemple. Tout fonctionne bien.
Augmentez le widget en cliquant sur le carré en haut à droite, ou bien
réduisez le widget via le - de la barre de progression, vous
constaterez que tous les onglets disparaissent.
Comment palier à ce problème ?
À (at) Tue, 27 Jan 2009 15:26:50 -0800 (PST),
écrivait (wrote):
> Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut être
> pas un, je l'espère).
Ça dépend la manière dont on veut voir les chose... ;-)
> Voici un script exemple :
> #!/usr/bin/perl
> use warnings;
> use strict;
> use Carp;
> use Tk;
> use Tk::NoteBook;
> my $Fenetre = new MainWindow(
> -title => "test onglet",
> -background => "white",
> );
> $Fenetre->minsize(200,200);
> my $BlocNote = $Fenetre->NoteBook()->pack;
> my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack( -
> side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack( -
> side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack( -
> side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> foreach ($test1, $test2, $test3) {
> my $Frame = $_->Labelframe(-label => "test",)->pack;
> $Frame->Label(-text => "test",)->pack();
> }
> MainLoop;
> Si on exécute ce script et qu'on se met sur l'onglet "test2" par
> exemple. Tout fonctionne bien.
> Augmentez le widget en cliquant sur le carré en haut à droite, ou b ien
> réduisez le widget via le - de la barre de progression, vous
> constaterez que tous les onglets disparaissent.
> Comment palier à ce problème ?
Ce qu'il faut comprendre, c'est que toutes les pages d'un NoteBook
sont gérées par le NoteBook lui-même. En particulier, leur position ,
facteur d'expansion, etc. Les arguments passés à 'pack' lors de
l'ajout de chaque page ne servent donc à rien. Par contre, le NoteBook
n'est pas géré, a priori, dans la fenêtre principale puisque vous n e
passez aucun argument à 'pack'. Voici une version qui devrait
fonctionner de la manière prévue...
##############################
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::NoteBook;
my $Fenetre = new MainWindow(
-title => "test onglet",
-background => "white",
);
$Fenetre->minsize(200,200);
my $BlocNote = $Fenetre->NoteBook()
->pack(qw/-side top -anchor n -fill both -expand 1/);
my $test1 = $BlocNote->add("test1", -label => "test1")->pack();
my $test2 = $BlocNote->add("test2", -label => "test2")->pack();
my $test3 = $BlocNote->add("test3", -label => "test3")->pack();
foreach ($test1, $test2, $test3) {
my $Frame = $_->Labelframe(-label => "test")->pack();
$Frame->Label(-text => "test")->pack();}
MainLoop;
##############################
Au passage, la syntaxe via qw/.../ pour écrire les arguments de pack
autorise une style un peu plus lisible à mon goût.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français -
<http://perl.enstimac.fr/>
À (at) Tue, 27 Jan 2009 15:26:50 -0800 (PST),
genom...@gmail.com écrivait (wrote):
> Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut être
> pas un, je l'espère).
Ça dépend la manière dont on veut voir les chose... ;-)
> Voici un script exemple :
> #!/usr/bin/perl
> use warnings;
> use strict;
> use Carp;
> use Tk;
> use Tk::NoteBook;
> my $Fenetre = new MainWindow(
> -title => "test onglet",
> -background => "white",
> );
> $Fenetre->minsize(200,200);
> my $BlocNote = $Fenetre->NoteBook()->pack;
> my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack( -
> side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack( -
> side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack( -
> side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> foreach ($test1, $test2, $test3) {
> my $Frame = $_->Labelframe(-label => "test",)->pack;
> $Frame->Label(-text => "test",)->pack();
> }
> MainLoop;
> Si on exécute ce script et qu'on se met sur l'onglet "test2" par
> exemple. Tout fonctionne bien.
> Augmentez le widget en cliquant sur le carré en haut à droite, ou b ien
> réduisez le widget via le - de la barre de progression, vous
> constaterez que tous les onglets disparaissent.
> Comment palier à ce problème ?
Ce qu'il faut comprendre, c'est que toutes les pages d'un NoteBook
sont gérées par le NoteBook lui-même. En particulier, leur position ,
facteur d'expansion, etc. Les arguments passés à 'pack' lors de
l'ajout de chaque page ne servent donc à rien. Par contre, le NoteBook
n'est pas géré, a priori, dans la fenêtre principale puisque vous n e
passez aucun argument à 'pack'. Voici une version qui devrait
fonctionner de la manière prévue...
##############################
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::NoteBook;
my $Fenetre = new MainWindow(
-title => "test onglet",
-background => "white",
);
$Fenetre->minsize(200,200);
my $BlocNote = $Fenetre->NoteBook()
->pack(qw/-side top -anchor n -fill both -expand 1/);
my $test1 = $BlocNote->add("test1", -label => "test1")->pack();
my $test2 = $BlocNote->add("test2", -label => "test2")->pack();
my $test3 = $BlocNote->add("test3", -label => "test3")->pack();
foreach ($test1, $test2, $test3) {
my $Frame = $_->Labelframe(-label => "test")->pack();
$Frame->Label(-text => "test")->pack();}
MainLoop;
##############################
Au passage, la syntaxe via qw/.../ pour écrire les arguments de pack
autorise une style un peu plus lisible à mon goût.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français -
<http://perl.enstimac.fr/>
À (at) Tue, 27 Jan 2009 15:26:50 -0800 (PST),
écrivait (wrote):
> Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut être
> pas un, je l'espère).
Ça dépend la manière dont on veut voir les chose... ;-)
> Voici un script exemple :
> #!/usr/bin/perl
> use warnings;
> use strict;
> use Carp;
> use Tk;
> use Tk::NoteBook;
> my $Fenetre = new MainWindow(
> -title => "test onglet",
> -background => "white",
> );
> $Fenetre->minsize(200,200);
> my $BlocNote = $Fenetre->NoteBook()->pack;
> my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack( -
> side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack( -
> side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack( -
> side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> foreach ($test1, $test2, $test3) {
> my $Frame = $_->Labelframe(-label => "test",)->pack;
> $Frame->Label(-text => "test",)->pack();
> }
> MainLoop;
> Si on exécute ce script et qu'on se met sur l'onglet "test2" par
> exemple. Tout fonctionne bien.
> Augmentez le widget en cliquant sur le carré en haut à droite, ou b ien
> réduisez le widget via le - de la barre de progression, vous
> constaterez que tous les onglets disparaissent.
> Comment palier à ce problème ?
Ce qu'il faut comprendre, c'est que toutes les pages d'un NoteBook
sont gérées par le NoteBook lui-même. En particulier, leur position ,
facteur d'expansion, etc. Les arguments passés à 'pack' lors de
l'ajout de chaque page ne servent donc à rien. Par contre, le NoteBook
n'est pas géré, a priori, dans la fenêtre principale puisque vous n e
passez aucun argument à 'pack'. Voici une version qui devrait
fonctionner de la manière prévue...
##############################
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::NoteBook;
my $Fenetre = new MainWindow(
-title => "test onglet",
-background => "white",
);
$Fenetre->minsize(200,200);
my $BlocNote = $Fenetre->NoteBook()
->pack(qw/-side top -anchor n -fill both -expand 1/);
my $test1 = $BlocNote->add("test1", -label => "test1")->pack();
my $test2 = $BlocNote->add("test2", -label => "test2")->pack();
my $test3 = $BlocNote->add("test3", -label => "test3")->pack();
foreach ($test1, $test2, $test3) {
my $Frame = $_->Labelframe(-label => "test")->pack();
$Frame->Label(-text => "test")->pack();}
MainLoop;
##############################
Au passage, la syntaxe via qw/.../ pour écrire les arguments de pack
autorise une style un peu plus lisible à mon goût.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français -
<http://perl.enstimac.fr/>
On 28 jan, 09:45, Paul Gaborit wrote:
> À (at) Tue, 27 Jan 2009 15:26:50 -0800 (PST),
> écrivait (wrote):
> > Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut êt re
> > pas un, je l'espère).
> Ça dépend la manière dont on veut voir les chose... ;-)
> > Voici un script exemple :
> > #!/usr/bin/perl
> > use warnings;
> > use strict;
> > use Carp;
> > use Tk;
> > use Tk::NoteBook;
> > my $Fenetre = new MainWindow(
> > -title => "test onglet",
> > -background => "white",
> > );
> > $Fenetre->minsize(200,200);
> > my $BlocNote = $Fenetre->NoteBook()->pack;
> > my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack( -
> > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack( -
> > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack( -
> > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > foreach ($test1, $test2, $test3) {
> > my $Frame = $_->Labelframe(-label => "test",)->pack;
> > $Frame->Label(-text => "test",)->pack();
> > }
> > MainLoop;
> > Si on exécute ce script et qu'on se met sur l'onglet "test2" par
> > exemple. Tout fonctionne bien.
> > Augmentez le widget en cliquant sur le carré en haut à droite, ou bien
> > réduisez le widget via le - de la barre de progression, vous
> > constaterez que tous les onglets disparaissent.
> > Comment palier à ce problème ?
> Ce qu'il faut comprendre, c'est que toutes les pages d'un NoteBook
> sont gérées par le NoteBook lui-même. En particulier, leur positi on,
> facteur d'expansion, etc. Les arguments passés à 'pack' lors de
> l'ajout de chaque page ne servent donc à rien. Par contre, le NoteBoo k
> n'est pas géré, a priori, dans la fenêtre principale puisque vous ne
> passez aucun argument à 'pack'. Voici une version qui devrait
> fonctionner de la manière prévue...
Merci pour cette réponse. En effet, je ne m'étais pas rendu compte qu e
je n'avais pas besoin de fournir des options
à pack vu qu'elles sont les même dans add.
> ##############################
> #!/usr/bin/perl
> use warnings;
> use strict;
> use Tk;
> use Tk::NoteBook;
> my $Fenetre = new MainWindow(
> -title => "test onglet",
> -background => "white",
> );
> $Fenetre->minsize(200,200);
> my $BlocNote = $Fenetre->NoteBook()
> ->pack(qw/-side top -anchor n -fill both -expand 1/);
> my $test1 = $BlocNote->add("test1", -label => "test1")->pack();
> my $test2 = $BlocNote->add("test2", -label => "test2")->pack();
> my $test3 = $BlocNote->add("test3", -label => "test3")->pack();
> foreach ($test1, $test2, $test3) {
> my $Frame = $_->Labelframe(-label => "test")->pack();
> $Frame->Label(-text => "test")->pack();}
> MainLoop;
> ##############################
> Au passage, la syntaxe via qw/.../ pour écrire les arguments de pack
> autorise une style un peu plus lisible à mon goût.
Ouais, c'est une histoire de goût. En terme de lisibilité et de
maintenance, je ne sais pas vraiment laquelle choisir.
En tout cas merci pour ce message, je vais pouvoir debugguer certains
de mes scripts :-).
Cordialement,
Djibril
> --
> Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français -
> <http://perl.enstimac.fr/>
On 28 jan, 09:45, Paul Gaborit <Paul.Gabo...@invalid.invalid> wrote:
> À (at) Tue, 27 Jan 2009 15:26:50 -0800 (PST),
> genom...@gmail.com écrivait (wrote):
> > Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut êt re
> > pas un, je l'espère).
> Ça dépend la manière dont on veut voir les chose... ;-)
> > Voici un script exemple :
> > #!/usr/bin/perl
> > use warnings;
> > use strict;
> > use Carp;
> > use Tk;
> > use Tk::NoteBook;
> > my $Fenetre = new MainWindow(
> > -title => "test onglet",
> > -background => "white",
> > );
> > $Fenetre->minsize(200,200);
> > my $BlocNote = $Fenetre->NoteBook()->pack;
> > my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack( -
> > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack( -
> > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack( -
> > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > foreach ($test1, $test2, $test3) {
> > my $Frame = $_->Labelframe(-label => "test",)->pack;
> > $Frame->Label(-text => "test",)->pack();
> > }
> > MainLoop;
> > Si on exécute ce script et qu'on se met sur l'onglet "test2" par
> > exemple. Tout fonctionne bien.
> > Augmentez le widget en cliquant sur le carré en haut à droite, ou bien
> > réduisez le widget via le - de la barre de progression, vous
> > constaterez que tous les onglets disparaissent.
> > Comment palier à ce problème ?
> Ce qu'il faut comprendre, c'est que toutes les pages d'un NoteBook
> sont gérées par le NoteBook lui-même. En particulier, leur positi on,
> facteur d'expansion, etc. Les arguments passés à 'pack' lors de
> l'ajout de chaque page ne servent donc à rien. Par contre, le NoteBoo k
> n'est pas géré, a priori, dans la fenêtre principale puisque vous ne
> passez aucun argument à 'pack'. Voici une version qui devrait
> fonctionner de la manière prévue...
Merci pour cette réponse. En effet, je ne m'étais pas rendu compte qu e
je n'avais pas besoin de fournir des options
à pack vu qu'elles sont les même dans add.
> ##############################
> #!/usr/bin/perl
> use warnings;
> use strict;
> use Tk;
> use Tk::NoteBook;
> my $Fenetre = new MainWindow(
> -title => "test onglet",
> -background => "white",
> );
> $Fenetre->minsize(200,200);
> my $BlocNote = $Fenetre->NoteBook()
> ->pack(qw/-side top -anchor n -fill both -expand 1/);
> my $test1 = $BlocNote->add("test1", -label => "test1")->pack();
> my $test2 = $BlocNote->add("test2", -label => "test2")->pack();
> my $test3 = $BlocNote->add("test3", -label => "test3")->pack();
> foreach ($test1, $test2, $test3) {
> my $Frame = $_->Labelframe(-label => "test")->pack();
> $Frame->Label(-text => "test")->pack();}
> MainLoop;
> ##############################
> Au passage, la syntaxe via qw/.../ pour écrire les arguments de pack
> autorise une style un peu plus lisible à mon goût.
Ouais, c'est une histoire de goût. En terme de lisibilité et de
maintenance, je ne sais pas vraiment laquelle choisir.
En tout cas merci pour ce message, je vais pouvoir debugguer certains
de mes scripts :-).
Cordialement,
Djibril
> --
> Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français -
> <http://perl.enstimac.fr/>
On 28 jan, 09:45, Paul Gaborit wrote:
> À (at) Tue, 27 Jan 2009 15:26:50 -0800 (PST),
> écrivait (wrote):
> > Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut êt re
> > pas un, je l'espère).
> Ça dépend la manière dont on veut voir les chose... ;-)
> > Voici un script exemple :
> > #!/usr/bin/perl
> > use warnings;
> > use strict;
> > use Carp;
> > use Tk;
> > use Tk::NoteBook;
> > my $Fenetre = new MainWindow(
> > -title => "test onglet",
> > -background => "white",
> > );
> > $Fenetre->minsize(200,200);
> > my $BlocNote = $Fenetre->NoteBook()->pack;
> > my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack( -
> > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack( -
> > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack( -
> > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > foreach ($test1, $test2, $test3) {
> > my $Frame = $_->Labelframe(-label => "test",)->pack;
> > $Frame->Label(-text => "test",)->pack();
> > }
> > MainLoop;
> > Si on exécute ce script et qu'on se met sur l'onglet "test2" par
> > exemple. Tout fonctionne bien.
> > Augmentez le widget en cliquant sur le carré en haut à droite, ou bien
> > réduisez le widget via le - de la barre de progression, vous
> > constaterez que tous les onglets disparaissent.
> > Comment palier à ce problème ?
> Ce qu'il faut comprendre, c'est que toutes les pages d'un NoteBook
> sont gérées par le NoteBook lui-même. En particulier, leur positi on,
> facteur d'expansion, etc. Les arguments passés à 'pack' lors de
> l'ajout de chaque page ne servent donc à rien. Par contre, le NoteBoo k
> n'est pas géré, a priori, dans la fenêtre principale puisque vous ne
> passez aucun argument à 'pack'. Voici une version qui devrait
> fonctionner de la manière prévue...
Merci pour cette réponse. En effet, je ne m'étais pas rendu compte qu e
je n'avais pas besoin de fournir des options
à pack vu qu'elles sont les même dans add.
> ##############################
> #!/usr/bin/perl
> use warnings;
> use strict;
> use Tk;
> use Tk::NoteBook;
> my $Fenetre = new MainWindow(
> -title => "test onglet",
> -background => "white",
> );
> $Fenetre->minsize(200,200);
> my $BlocNote = $Fenetre->NoteBook()
> ->pack(qw/-side top -anchor n -fill both -expand 1/);
> my $test1 = $BlocNote->add("test1", -label => "test1")->pack();
> my $test2 = $BlocNote->add("test2", -label => "test2")->pack();
> my $test3 = $BlocNote->add("test3", -label => "test3")->pack();
> foreach ($test1, $test2, $test3) {
> my $Frame = $_->Labelframe(-label => "test")->pack();
> $Frame->Label(-text => "test")->pack();}
> MainLoop;
> ##############################
> Au passage, la syntaxe via qw/.../ pour écrire les arguments de pack
> autorise une style un peu plus lisible à mon goût.
Ouais, c'est une histoire de goût. En terme de lisibilité et de
maintenance, je ne sais pas vraiment laquelle choisir.
En tout cas merci pour ce message, je vais pouvoir debugguer certains
de mes scripts :-).
Cordialement,
Djibril
> --
> Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français -
> <http://perl.enstimac.fr/>
On 28 jan, 10:49, wrote:
> On 28 jan, 09:45, Paul Gaborit wrote:
> > À (at) Tue, 27 Jan 2009 15:26:50 -0800 (PST),
> > écrivait (wrote):
> > > Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut être
> > > pas un, je l'espère).
> > Ça dépend la manière dont on veut voir les chose... ;-)
> > > Voici un script exemple :
> > > #!/usr/bin/perl
> > > use warnings;
> > > use strict;
> > > use Carp;
> > > use Tk;
> > > use Tk::NoteBook;
> > > my $Fenetre = new MainWindow(
> > > -title => "test onglet",
> > > -background => "white",
> > > );
> > > $Fenetre->minsize(200,200);
> > > my $BlocNote = $Fenetre->NoteBook()->pack;
> > > my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack ( -
> > > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > > my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack ( -
> > > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > > my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack ( -
> > > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > > foreach ($test1, $test2, $test3) {
> > > my $Frame = $_->Labelframe(-label => "test",)->pack;
> > > $Frame->Label(-text => "test",)->pack();
> > > }
> > > MainLoop;
> > > Si on exécute ce script et qu'on se met sur l'onglet "test2" par
> > > exemple. Tout fonctionne bien.
> > > Augmentez le widget en cliquant sur le carré en haut à droite, ou bien
> > > réduisez le widget via le - de la barre de progression, vous
> > > constaterez que tous les onglets disparaissent.
> > > Comment palier à ce problème ?
> > Ce qu'il faut comprendre, c'est que toutes les pages d'un NoteBook
> > sont gérées par le NoteBook lui-même. En particulier, leur posi tion,
> > facteur d'expansion, etc. Les arguments passés à 'pack' lors de
> > l'ajout de chaque page ne servent donc à rien. Par contre, le NoteB ook
> > n'est pas géré, a priori, dans la fenêtre principale puisque vo us ne
> > passez aucun argument à 'pack'. Voici une version qui devrait
> > fonctionner de la manière prévue...
> Merci pour cette réponse. En effet, je ne m'étais pas rendu compte que
> je n'avais pas besoin de fournir des options
> à pack vu qu'elles sont les même dans add.
> > ##############################
> > #!/usr/bin/perl
> > use warnings;
> > use strict;
> > use Tk;
> > use Tk::NoteBook;
> > my $Fenetre = new MainWindow(
> > -title => "test onglet",
> > -backgroun d => "white",
> > );
> > $Fenetre->minsize(200,200);
> > my $BlocNote = $Fenetre->NoteBook()
> > ->pack(qw/-side top -anchor n -fill both -expand 1/);
> > my $test1 = $BlocNote->add("test1", -label => "test1")->pack();
> > my $test2 = $BlocNote->add("test2", -label => "test2")->pack();
> > my $test3 = $BlocNote->add("test3", -label => "test3")->pack();
> > foreach ($test1, $test2, $test3) {
> > my $Frame = $_->Labelframe(-label => "test")->pack();
> > $Frame->Label(-text => "test")->pack();}
> > MainLoop;
> > ##############################
> > Au passage, la syntaxe via qw/.../ pour écrire les arguments de pac k
> > autorise une style un peu plus lisible à mon goût.
> Ouais, c'est une histoire de goût. En terme de lisibilité et de
> maintenance, je ne sais pas vraiment laquelle choisir.
> En tout cas merci pour ce message, je vais pouvoir debugguer certains
> de mes scripts :-).
> Cordialement,
> Djibril
> > --
> > Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en françai s -
> > <http://perl.enstimac.fr/>
Je rencontre maintenant un autre problème, voici le script
##########################################################
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::NoteBook;
my $Fenetre = new MainWindow(
-title => "test onglet",
-background => "white",
);
$Fenetre->minsize(200,200);
my $BlocNote = $Fenetre->NoteBook()->pack(qw/-side top -anchor n -fill
both -expand 1/);
my $test1 = $BlocNote->add("test1", -label => "test1n", )->pack();
my $test2 = $BlocNote->add("test2", -label => "test2n")->pack();
my $test3 = $BlocNote->add("test3", -label => "test3n")->pack();
foreach ($test1, $test2, $test3) {
my $Frame = $_->Labelframe(-label => "test", -background =>
"yellow")->pack();
$Frame->Label(-text => "testntestntest")->pack();
}
MainLoop;
################################
Si on se met sur l'onglet 2 ou 3 et qu'on augmente le widget, le
contenu de l'onglet 1 déborde. et s'affiche au même niveau que les
entêtes des onglets.
Une idée?
On 28 jan, 10:49, genom...@gmail.com wrote:
> On 28 jan, 09:45, Paul Gaborit <Paul.Gabo...@invalid.invalid> wrote:
> > À (at) Tue, 27 Jan 2009 15:26:50 -0800 (PST),
> > genom...@gmail.com écrivait (wrote):
> > > Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut être
> > > pas un, je l'espère).
> > Ça dépend la manière dont on veut voir les chose... ;-)
> > > Voici un script exemple :
> > > #!/usr/bin/perl
> > > use warnings;
> > > use strict;
> > > use Carp;
> > > use Tk;
> > > use Tk::NoteBook;
> > > my $Fenetre = new MainWindow(
> > > -title => "test onglet",
> > > -background => "white",
> > > );
> > > $Fenetre->minsize(200,200);
> > > my $BlocNote = $Fenetre->NoteBook()->pack;
> > > my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack ( -
> > > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > > my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack ( -
> > > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > > my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack ( -
> > > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > > foreach ($test1, $test2, $test3) {
> > > my $Frame = $_->Labelframe(-label => "test",)->pack;
> > > $Frame->Label(-text => "test",)->pack();
> > > }
> > > MainLoop;
> > > Si on exécute ce script et qu'on se met sur l'onglet "test2" par
> > > exemple. Tout fonctionne bien.
> > > Augmentez le widget en cliquant sur le carré en haut à droite, ou bien
> > > réduisez le widget via le - de la barre de progression, vous
> > > constaterez que tous les onglets disparaissent.
> > > Comment palier à ce problème ?
> > Ce qu'il faut comprendre, c'est que toutes les pages d'un NoteBook
> > sont gérées par le NoteBook lui-même. En particulier, leur posi tion,
> > facteur d'expansion, etc. Les arguments passés à 'pack' lors de
> > l'ajout de chaque page ne servent donc à rien. Par contre, le NoteB ook
> > n'est pas géré, a priori, dans la fenêtre principale puisque vo us ne
> > passez aucun argument à 'pack'. Voici une version qui devrait
> > fonctionner de la manière prévue...
> Merci pour cette réponse. En effet, je ne m'étais pas rendu compte que
> je n'avais pas besoin de fournir des options
> à pack vu qu'elles sont les même dans add.
> > ##############################
> > #!/usr/bin/perl
> > use warnings;
> > use strict;
> > use Tk;
> > use Tk::NoteBook;
> > my $Fenetre = new MainWindow(
> > -title => "test onglet",
> > -backgroun d => "white",
> > );
> > $Fenetre->minsize(200,200);
> > my $BlocNote = $Fenetre->NoteBook()
> > ->pack(qw/-side top -anchor n -fill both -expand 1/);
> > my $test1 = $BlocNote->add("test1", -label => "test1")->pack();
> > my $test2 = $BlocNote->add("test2", -label => "test2")->pack();
> > my $test3 = $BlocNote->add("test3", -label => "test3")->pack();
> > foreach ($test1, $test2, $test3) {
> > my $Frame = $_->Labelframe(-label => "test")->pack();
> > $Frame->Label(-text => "test")->pack();}
> > MainLoop;
> > ##############################
> > Au passage, la syntaxe via qw/.../ pour écrire les arguments de pac k
> > autorise une style un peu plus lisible à mon goût.
> Ouais, c'est une histoire de goût. En terme de lisibilité et de
> maintenance, je ne sais pas vraiment laquelle choisir.
> En tout cas merci pour ce message, je vais pouvoir debugguer certains
> de mes scripts :-).
> Cordialement,
> Djibril
> > --
> > Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en françai s -
> > <http://perl.enstimac.fr/>
Je rencontre maintenant un autre problème, voici le script
##########################################################
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::NoteBook;
my $Fenetre = new MainWindow(
-title => "test onglet",
-background => "white",
);
$Fenetre->minsize(200,200);
my $BlocNote = $Fenetre->NoteBook()->pack(qw/-side top -anchor n -fill
both -expand 1/);
my $test1 = $BlocNote->add("test1", -label => "test1n", )->pack();
my $test2 = $BlocNote->add("test2", -label => "test2n")->pack();
my $test3 = $BlocNote->add("test3", -label => "test3n")->pack();
foreach ($test1, $test2, $test3) {
my $Frame = $_->Labelframe(-label => "test", -background =>
"yellow")->pack();
$Frame->Label(-text => "testntestntest")->pack();
}
MainLoop;
################################
Si on se met sur l'onglet 2 ou 3 et qu'on augmente le widget, le
contenu de l'onglet 1 déborde. et s'affiche au même niveau que les
entêtes des onglets.
Une idée?
On 28 jan, 10:49, wrote:
> On 28 jan, 09:45, Paul Gaborit wrote:
> > À (at) Tue, 27 Jan 2009 15:26:50 -0800 (PST),
> > écrivait (wrote):
> > > Je viens de me rendre compte d'un bug ( ou bien, sans n'est peut être
> > > pas un, je l'espère).
> > Ça dépend la manière dont on veut voir les chose... ;-)
> > > Voici un script exemple :
> > > #!/usr/bin/perl
> > > use warnings;
> > > use strict;
> > > use Carp;
> > > use Tk;
> > > use Tk::NoteBook;
> > > my $Fenetre = new MainWindow(
> > > -title => "test onglet",
> > > -background => "white",
> > > );
> > > $Fenetre->minsize(200,200);
> > > my $BlocNote = $Fenetre->NoteBook()->pack;
> > > my $test1 = $BlocNote->add( "test1", -label => "test1", )->pack ( -
> > > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > > my $test2 = $BlocNote->add( "test2", -label => "test2", )->pack ( -
> > > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > > my $test3 = $BlocNote->add( "test3", -label => "test3", )->pack ( -
> > > side=> "top", -anchor => "nw", -fill => "both", -expand => 1 );
> > > foreach ($test1, $test2, $test3) {
> > > my $Frame = $_->Labelframe(-label => "test",)->pack;
> > > $Frame->Label(-text => "test",)->pack();
> > > }
> > > MainLoop;
> > > Si on exécute ce script et qu'on se met sur l'onglet "test2" par
> > > exemple. Tout fonctionne bien.
> > > Augmentez le widget en cliquant sur le carré en haut à droite, ou bien
> > > réduisez le widget via le - de la barre de progression, vous
> > > constaterez que tous les onglets disparaissent.
> > > Comment palier à ce problème ?
> > Ce qu'il faut comprendre, c'est que toutes les pages d'un NoteBook
> > sont gérées par le NoteBook lui-même. En particulier, leur posi tion,
> > facteur d'expansion, etc. Les arguments passés à 'pack' lors de
> > l'ajout de chaque page ne servent donc à rien. Par contre, le NoteB ook
> > n'est pas géré, a priori, dans la fenêtre principale puisque vo us ne
> > passez aucun argument à 'pack'. Voici une version qui devrait
> > fonctionner de la manière prévue...
> Merci pour cette réponse. En effet, je ne m'étais pas rendu compte que
> je n'avais pas besoin de fournir des options
> à pack vu qu'elles sont les même dans add.
> > ##############################
> > #!/usr/bin/perl
> > use warnings;
> > use strict;
> > use Tk;
> > use Tk::NoteBook;
> > my $Fenetre = new MainWindow(
> > -title => "test onglet",
> > -backgroun d => "white",
> > );
> > $Fenetre->minsize(200,200);
> > my $BlocNote = $Fenetre->NoteBook()
> > ->pack(qw/-side top -anchor n -fill both -expand 1/);
> > my $test1 = $BlocNote->add("test1", -label => "test1")->pack();
> > my $test2 = $BlocNote->add("test2", -label => "test2")->pack();
> > my $test3 = $BlocNote->add("test3", -label => "test3")->pack();
> > foreach ($test1, $test2, $test3) {
> > my $Frame = $_->Labelframe(-label => "test")->pack();
> > $Frame->Label(-text => "test")->pack();}
> > MainLoop;
> > ##############################
> > Au passage, la syntaxe via qw/.../ pour écrire les arguments de pac k
> > autorise une style un peu plus lisible à mon goût.
> Ouais, c'est une histoire de goût. En terme de lisibilité et de
> maintenance, je ne sais pas vraiment laquelle choisir.
> En tout cas merci pour ce message, je vais pouvoir debugguer certains
> de mes scripts :-).
> Cordialement,
> Djibril
> > --
> > Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en françai s -
> > <http://perl.enstimac.fr/>
Je rencontre maintenant un autre problème, voici le script
##########################################################
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::NoteBook;
my $Fenetre = new MainWindow(
-title => "test onglet",
-background => "white",
);
$Fenetre->minsize(200,200);
my $BlocNote = $Fenetre->NoteBook()->pack(qw/-side top -anchor n -fill
both -expand 1/);
my $test1 = $BlocNote->add("test1", -label => "test1n", )->pack();
my $test2 = $BlocNote->add("test2", -label => "test2n")->pack();
my $test3 = $BlocNote->add("test3", -label => "test3n")->pack();
foreach ($test1, $test2, $test3) {
my $Frame = $_->Labelframe(-label => "test", -background =>
"yellow")->pack();
$Frame->Label(-text => "testntestntest")->pack();
}
MainLoop;
################################
Si on se met sur l'onglet 2 ou 3 et qu'on augmente le widget, le
contenu de l'onglet 1 déborde. et s'affiche au même niveau que les
entêtes des onglets.
Une idée?
Il ne faut pas du tout utiliser la méthode pack sur les objets
notebook pour créer un onglet. Et après tout fonctionne parfaitement.
Il ne faut pas du tout utiliser la méthode pack sur les objets
notebook pour créer un onglet. Et après tout fonctionne parfaitement.
Il ne faut pas du tout utiliser la méthode pack sur les objets
notebook pour créer un onglet. Et après tout fonctionne parfaitement.