Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ProgressBar Tk 'segmentation fault' à l'ouverture de mon mailer

1 réponse
Avatar
ctobini
Bonjour,

J'ai un probl=E8me un peu bizarre : j'ai cr=E9e une ProgressBar toute
simple avec Tk (progression de la lecture ligne =E0 ligne d'un fichier)
=E0 partir d'un exemple sur le net.

A priori =E7a fonctionne tr=E8s bien sauf que mon script plante avec un
'segmentation fault' lorsque je lance mon lecteur de mail Evolution.

Je ne sais pas si cette erreur a bien sa place dans le forum Perl.

Voici le code :

my $mw;
my $status_var =3D 0;

my $colors =3D [];
for (my $i =3D 0; $i <=3D 500; $i+=3D25) { push @$colors, ($i =3D> 'blue')=
}
$mw =3D MainWindow->new;
$mw->ProgressBar(
-borderwidth =3D> 2,
-relief =3D> 'sunken',
-width =3D> 20,
-padx =3D> 2,
-pady =3D> 2,
-variable =3D> \$status_var,
-colors =3D> $colors,
-resolution =3D> 0,
-blocks =3D> 50,
-anchor =3D> 'w',
-from =3D> '0',
-to =3D> '500'
)->pack(
-padx =3D> 10,
-pady =3D> 10,
-fill =3D> 'both',
-expand =3D> 1
);

while(<>) { $status_var++; $mw->update }

MainLoop;

Merci si cela vous dit quelque chose.

C=2E Tobini

1 réponse

Avatar
Paul Gaborit
À (at) 29 Sep 2006 05:04:50 -0700,
"ctobini" écrivait (wrote):
J'ai un problème un peu bizarre : j'ai crée une ProgressBar toute
simple avec Tk (progression de la lecture ligne à ligne d'un fichier)
à partir d'un exemple sur le net.

A priori ça fonctionne très bien sauf que mon script plante avec un
'segmentation fault' lorsque je lance mon lecteur de mail Evolution.

Je ne sais pas si cette erreur a bien sa place dans le forum Perl.


Je n'en sais rien non plus ;-)

[...]
while(<>) { $status_var++; $mw->update }


Cette ligne sollicite énormément Tk car la lecture d'une ligne est
très rapide alors qu'un 'update' peut prendre beaucoup de temps (même
si il n'y a rien à faire).

Je mettrai plutôt un truc du genre :

while(<>) {
$status_var++;
$mw->update if $status_var % 100 == 0;
}

pour faire la mise à jour de l'interface de 100 lignes en 100
lignes...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/&gt;
Perl en français - <http://perl.enstimac.fr/&gt;