Thread [Tk] Progressbar 'wandert' durch Cursortasten
(2 answers)
Opened by Molaf at 2013-11-07 13:44
Hallo allerseits,
ich nutze grade wieder Tk für ein Programm mit GUI. Das Ding hat viele Entrys, mit denen man am besten mit TAB und Shift+TAB hin und her navigiert. Unter den Entrys ist ein Progressbar. Kriegt das versehentlich den Fokus, kann man den Balken mit den Cursor-Tasten links/rechts verschieben. Zur Ansicht: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #!/usr/bin/perl use 5.010; use strict; use warnings; use Time::HiRes 'time'; use Tk; use Tk::ProgressBar; my $data = 0; my $mw = MainWindow->new; $mw->Entry( -text => 'blah' )->pack; $mw->Entry( -text => 'krams', -bg => 'grey80' )->pack; my $progressbar = $mw->ProgressBar( -from => 0, -to => 400, -variable => \$data, -width => 6, -length => 100, -blocks => 100, -colors => [ 0, 'green' ], )->pack; my $button = $mw->Button( -text => 'x' )->pack; $mw->repeat( 10, sub { $data = time*1000 % 400; } ); MainLoop; Jetzt die Frage: Kann man das verhindern? Meine Versuche waren bisher, den '<FocusIn>' mit einem bind des Progressbars einzufangen und den Fokus gleich weiterzugeben, dummerweise scheint kein bind-Event auszulösen (über eine Schleife alle mal zugeordnet). Der nächste Schritt wird dann sein, Tk::Progressbar rauszuwerfen und durch was eigenes zu ersetzen. Lieber wäre mir natürlich das fertige Modul weiterverwenden zu können. System ist WinXP, Tk ist 804.028 |