Thread GUI Prima: Probleme mit der Event Loop bei mehreren toplevel Windows
(5 answers)
Opened by docsnyder at 2020-03-29 16:05
Mit Prima habe ich keine Erfahrung, deshalb wäre da ein Code-Beispiel wirklich interessant gewesen, oder die Information, welche Plattform Du verwendest. Die Prima-Fenster werden nämlich laut Dokumentation vom Window-Manager des Systems verwaltet
Aus alter Erinnerung: Es kann sein, dass bestimmte Window-Manager Redraw-Events nicht verarbeiten, wenn sie nicht das Fenster betreffen, das aktuell den Fokus hat. Ich kann's aber nicht mit meinen Testsystemen/Window Managern reproduzieren (Linux mit Gnome 3 oder MATE-Metacity, Windows 10 mit Strawberry Perl). Folgendes Programm habe ich benutzt: 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 use Prima qw/Buttons Label Application/; my $main = Prima::MainWindow->new( text => 'Hello world' ); my $label = $main->insert( 'Prima::Label', text => 'Text Text Text', pack => {}, ); my $window = Prima::Window->create( size => [ 100, 100 ] ); my $button = $window->insert('Prima::Button', text => 'Click me', pack => {}, onClick => sub { $label->set(text => 'Toxt Toxt Toxt'); } ); run Prima; Wenn ich im Fenster auf den Button klicke, dann ändert sich der Text im Label wie gewünscht, obwohl das Hauptfenster nicht den Fokus hat. Wie man Tool-Tips mit Prima baut, habe ich auf die Schnelle nicht rausgefunden. Also: "Bei mir geht's"! |