Thread Randloses Wiget für Hintergrundbild und Buttons gesucht (7 answers)
Opened by rommi at 2008-12-17 01:14

rommi
 2008-12-17 01:14
#117307 #117307
User since
2005-03-03
54 Artikel
BenutzerIn
[default_avatar]
Hallo Perlfans,

ich benötige ein Widget dass nahtlos an andere Widgets
angeschlossen werden kann und dem ich als Hintergrund
ein Image (wie bei Labels und Canvas) zuweisen kann.
Ausserdem sollte das Wiget Buttons, Checkbox, Radio-
button aufnehmen können ohne dass die Elemente wieder ver-
schwinden. Kann mir jemand einen Tip geben welches Widget
ich nehmen könnte?

Ich habe es erst versucht mit einem einfachen Frame aber
Frames kann man zwar eine Hintergrundfarbe zuweisen aber
kein Image! Also habe ich es mit einem Label versucht aber
bei Labels ist dass Problem aufgetreten dass Elemente wie
Buttons, Checkboxes, Radiobuttons etc. verschwinden wenn
andere Fenster kurzzeitig über das Tk-Fenster geschoben
wurden. Das ist natürlich absolut nicht schön. Dann habe
ich es mit Canvas versucht aber da habe ich wiederum das
Problem das Canvas einen schmalen hellen Rand zwischen
dem Canvas-Widget und anderen anschliessenden Widgets
macht. Leider auch sehr unschön und ich habe es nicht weg-
gebracht, obwohl ich mit place eigentlich die Möglichkeit habe
ein Widget pixelgenau zu positionieren.

Als kurzes Beispiel hier der nachstehende Code. Danke im
voraus, viele Grüsse rommi!

Code: (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
use Tk;
#================ Haupffenster ===================
$HF = new MainWindow (-title => "Test");
$HF->geometry('200x200');
$HF->geometry('+10+10');
#================ Frames =======================
$Fr1 = $HF -> Frame (
-width => 200,
-height => 100,
);
$Fr1->place(-x=> 0, -y=> 0);
#================ Labels =======================
$Lbl1 = $Fr1->Label (
-text => "Überschrift",
-bg => white,
-width => 32,
);
$Lbl1->place(-x=> 0, -y=> 0);


$Lbl2 = $Fr1->Label (
-bg => red,
-width => 100,
-height => 92,
);
$Lbl2->place(-x=> 0, -y=> 20);
#================ Button =======================
$Bttn1 = $Lbl2->Button (
-text=>"Testbutton",
-bg => grey,
-width => 32,
-height => 2,

);
$Bttn1->place(-x=> 0, -y=> 0);
#================ Canvas =======================
$Can1 = $HF -> Canvas (
-bg => green,
-width => 200,
-height => 50,
);
$Can1->place(-x=> 0, -y=> 90);
#================ TK-Abschluss ==================
MainLoop();

ModEdit GwenDragon: Code bitte das nächste Mal selbst in Code-Tags stellen

View full thread Randloses Wiget für Hintergrundbild und Buttons gesucht