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:
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"!