2010-08-27 6 views
0

J'ai ce code:question Buffering/Mise à jour de l'élément texte

#!/usr/bin/perl 

use strict; 
use Tkx; 

my $mw = Tkx::widget->new('.'); 

$mw->g_wm_minsize(400, 350); 

my $btn_start = $mw->new_ttk__button(-text => "Start", -width => 60, -command => sub { start(); }); 

my $txt_processed_domains = $mw->new_tk__text(-width => 40, -height => 10, -state => "disabled", -wrap => "none"); 

Tkx::grid($btn_start, -row => 2, -columnspan => 3, -padx => 10, -pady => 10); 

Tkx::grid($txt_processed_domains, -row => 3, -columnspan => 3, -padx => 10, -pady => 10); 

Tkx::MainLoop(); 

sub start { 

    foreach my $id (1.. 10) { 

     $txt_processed_domains->configure(-state => "normal"); 
     $txt_processed_domains->insert_end("$id => Available\n"); 
     $txt_processed_domains->configure(-state => "disabled"); 

     sleep 1; 
    } 

    Tkx::tk___messageBox(-message => "Completed!"); 
} 

Je dois voir ce qui ids sont traitées, mais seulement obtenir la liste entière à la fin. C'est comme tamponner avec des handles de fichiers mais je ne suis pas sûr. Comment voir le texte dans la zone de texte juste après l'avoir inséré?

+5

Veuillez déplacer votre réponse dans [la boîte de réponse ci-dessous] (http://stackoverflow.com/questions/3583038#post-form) puisque cette question apparaît toujours comme étant sans réponse dans le système. – daxim

+0

Diffusé sur PerlMonks: http://www.perlmonks.org/?node_id=857650 – toolic

Répondre

1

Je trouve Tkx::update(); faire ce que je veux. Tkx:: update_idletasks() serait l'appel préféré dans ce cas

Questions connexes