Schrift
[thread]4718[/thread]

TK::Compound: Wie setze ich eine Hintergrundfarbe?

Leser: 3


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Robby
 2004-02-18 14:14
#41611 #41611
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich habe folgendes Beispiel

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use strict;
use Tk;
use Tk::Compound;


my $mw = MainWindow->new;
my $mylabel = $mw->Label()->pack;

my $i = $mylabel->Compound;
$i->Line;
$i->Text(-text => 'Line ');
$i->Bitmap(-bitmap => 'warning');

$mylabel->configure(-image => $i);

MainLoop;


Wie kann ich für das ganze eine Hintergrundfarbe setzen?
Die "-background" Option gibt es für das Text-Widget nicht...

Danke
Robby
Kaum macht man es richtig - schon funktioniert es!
havi
 2004-02-18 14:27
#41612 #41612
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Schau mal hier

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
#! /usr/local/bin/perl -w

require 5.005;

use strict;
use English;

use Tk;

# Create main window with button and text widget in it...
my $top = MainWindow->new;
my $btn = $top->Button(-text=>'print odd lines')->pack;
my $txt = $top->Scrolled('Text', -relief=>'sunken', -borderwidth=>'2',
-setgrid=>'true', -height=>'30', -scrollbars=>'e');
$txt->pack(-expand=>'yes', -fill=>'both');
$btn->configure(-command=>sub{&GetText($txt)} );

# Populate text widget with lines tagged odd and even...
my $lno;
my $oddeven;
foreach $lno (1..20) {
if($lno % 2) { $oddeven = "odd" } else { $oddeven = "even" };
$lno = "Line $lno ($oddeven)\n";
$txt->insert ('end', $lno, $oddeven);
}

# Do the main processing loop...
MainLoop();

sub GetText {
my $txtobj = shift;

$txtobj->tag('configure', 'odd', -background=>'lightblue');
$txtobj->tag('configure', 'even', -background=>'lightgreen');

# This is the goal of all the work...
my @lines = $txtobj->get($txtobj->tagRanges('odd'));

print STDERR join("", @lines);
}


Gruss
renee
 2004-02-18 14:28
#41613 #41613
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
laut ActiveState sollte -background funktionieren...
Aber da steht auch was von -showbackground. Vielleicht musst Du das erst auf 1 bzw. 'true' setzen.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
ptk
 2004-02-18 14:34
#41614 #41614
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=Robby,18.Feb..2004, 13:14]Wie kann ich für das ganze eine Hintergrundfarbe setzen?
Die "-background" Option gibt es für das Text-Widget nicht...[/quote]
Nicht Text-Widget, sondern Text-Methode. Und Tk::Compund kennt -background, das duerfte wohl ausreichen.
Robby
 2004-02-18 15:24
#41615 #41615
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
[quote=ptk,18.02.2004, 13:34][quote=Robby,18.Feb..2004, 13:14]Wie kann ich für das ganze eine Hintergrundfarbe setzen?
Die "-background" Option gibt es für das Text-Widget nicht...[/quote]
Nicht Text-Widget, sondern Text-Methode. Und Tk::Compund kennt -background, das duerfte wohl ausreichen.[/quote]
*hilflos guck*
und was heisst das genau für mein Beispiel?


@havi: wo ist denn bei Deinem Beispiel das Compound? ;)
@renee: ja, sollte funktionieren aber er sagt mit immer "Bad option `-background'"
Kaum macht man es richtig - schon funktioniert es!
Crian
 2004-02-18 15:34
#41616 #41616
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=Robby,18.02.2004, 14:24]*hilflos guck*
und was heisst das genau für mein Beispiel?[/quote]
Ich vermute einfach mal das hier:

Code: (dl )
my $i  = $mylabel->Compound(-background => 'red',);


Aber ich kenne Compound nicht. :)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Robby
 2004-02-18 16:18
#41617 #41617
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
@Crian: keien Fehlermeldung, aber Rot macht er es auch nicht :(

hab mich evtl auch flasch ausgedrückt. Ich möchte eine Zelle in einer Tablemtrix füllen mit Text, einem Bild und einer Hintergrundfarbe.

Hintergrundfarbe und Text klappt mit:
$anzeige->tagConfigure( 'tablename', -background => 'green');

Text und Bild klappt so:

Code: (dl )
1
2
3
4
5
	my $spalteplus = $anzeige->Compound;
$spalteplus->Text ( -text => $feldnamen[$ypos]);
$spalteplus->Space( -width => 2);
$spalteplus->Image( -image => $MamaGUI->Photo(-file=>"$dir/icons/desc.gif"));
$anzeige->tagConfigure('logo', -image => $spalteplus, -showtext => 1);


nur alles 3 klappt nicht weil hier die -background Option wohl überlagert wird vom Compound-"Bild"
Kaum macht man es richtig - schon funktioniert es!
ptk
 2004-02-18 16:20
#41618 #41618
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
-showbackground scheint auch benoetigt zu werden. This works:
Code: (dl )
1
2
3
4
5
6
7
8
use Tk;
$top=tkinit;
$p = $top->Compound(-background => "red", -showbackground => 1);
$p->Text(-text => "Hello");
$i = $top->Photo(-file => Tk->findINC("Xcamel.gif"));
$p->Image(-image => $i);
$top->Label(-image => $p, -border => 0)->pack;
MainLoop;
Robby
 2004-02-18 16:26
#41619 #41619
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
@ptk: Prima, Danke schön! Jetzt funktioniert es!! DANKE!
Kaum macht man es richtig - schon funktioniert es!
renee
 2004-02-18 16:32
#41620 #41620
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=ptk,18.02.2004, 15:20]-showbackground scheint auch benoetigt zu werden.[/quote]
da habe ich gleich drauf hingewiesen. Aber wer nicht hören will muss fühlen *g* ;)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2004-02-18 14:14.