User since
2007-09-18
26
Artikel
BenutzerIn
Hallo, gibt es eine Möglichkeit einen Frame oder den Inhalt eines Frames transparent oder halbdurchsichtig werden zu lassen?
Vielen Dank#
Fabmo
User since
2003-11-28
3645
Artikel
ModeratorIn
Möchtest du mehrere Tk-Widgets innerhalb eines Toplevels/MainWindows stapeln und die oberen (halb-)transparent machen oder gleich die gesamte Anwendung? Tk bietet leider keine Transparenz an. Für X11 gibt es das Modul Tk::InputO (input-only). Dieses Widget ist transparent, besser gesagt, man kann damit nichts darstellen, sondern nur Eingaben abfangen. Wenn du Teile des Toplevels/MainWindows transparent haben möchtest, könntest du X11::Protocol zusammen mit der SHAPE-Extension verwenden. Dazu könnte ich Beispielcode liefern. Das ist aber auch nur für X11.
User since
2007-09-18
26
Artikel
BenutzerIn
Hallo,
ich möchte eigentlich in einem Fenster ein Frame aufmachen, welches komplett mit einem Hintergrundbild versehen wird.
Über diesen Frame sollen dann andere Frames gelegt werden in denen das Hintergrundbild dann durchschimmert.
User since
2003-11-28
3645
Artikel
ModeratorIn
Ich fürchte, sowas geht mit Tk (noch) nicht. Als Workaround könnte man ein Canvas nehmen, darauf ein Bild legen und weitere Widgets mit createWindow erzeugen.
User since
2007-09-18
26
Artikel
BenutzerIn
Hallo,
hm ja ich glaube dann ist mein Problem erstmal nicht lösbar. Naja Schönheit ist ja nun auch nicht lebensnotwendig:..
User since
2005-03-11
25
Artikel
BenutzerIn
Mit Tk:Zinc scheint es zu funktionieren.
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
#!/usr/bin/perl
use Tk;
use Tk::Zinc;
use Tk::JPEG;
use strict;
my $mw = MainWindow->new();
my $img = $mw->Photo(
-data => 'JPEG',
-file => 'c:\mann3.jpg'
);
my $zinc = $mw->Zinc(
-borderwidth => 1,
-relief => 'sunken',
-render => 1
)->pack();
$zinc->add('icon',1,
-image => $img,
-anchor => 'nw',
-position => [15, 15]);
$zinc->add('rectangle', 1, [10,10, 330, 200],
-fillcolor => "=axial 90|#ffffff;80 |#c0c0c0;50", # von bis Farbe Transparenz
-filled => 1);
$zinc->add('text',1,
-text => 'Ein schöner Text',
-anchor => 'nw',
-position => [15, 15]);
MainLoop();
Zuerst das Bild und dann die anderen Zinc Elemente drüber legen.
Das Rectangle Element erzeugt die Transparenz.
Hallo,
Vielen Dank, werde ich gleich ma ausprobieren.
Ups nicht angemeldet....egal