Schrift
[thread]5240[/thread]

Perl Tk Dialog: automatischer Zeilenumbruch

Leser: 4


<< >> 6 Einträge, 1 Seite
micha_
 2006-09-20 18:12
#45844 #45844
User since
2006-09-20
1 Artikel
BenutzerIn
[default_avatar]
Hi Leute, ich hätte da ein Problem mit dem Widget Dialog. Und zwar wird mir der Text, den ich über die Option -text übergebe immer bei der 27. Stelle automatisch umgebrochen. Hab schon versucht das Dialogfenster zu vergössern und die Schrift zu verkleinern hat aber nix geholfen.

Hier der Code (Auszug):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my $dialog;
$dialog=$mw->Dialog(-title=> "Mein Dialog",
-bitmap=> 'warning',
-buttons=>["Yes","No"],
-width=>60,
-height=>20,
-font=>'Helvetica 12');

my $text="ein seeeeeeeeeeeeeeeeeeeeeeeeeeeeeehr langer Text";
$dialog->configure(-text=>"$text");
$dialog->Show();

Auf dem Dialog siehts dann so aus (nur Beispielhaft):

ein
seeeeeeeeeee
eeeeehr langer
Text

Eine weitere allgemeine Frage im Zusammenhang mit Perl Tk. Wie finde ich eigentlich die möglichen Optionen (und die möglichen Parameter für die Optionen) für ein Widget. Habe zum Beispiel nix gefunden, als ich für die Option -bitmap die möglichen Werte in der Dokumentation gesucht habe (zB. mit >man Tk::Dialog). Oder die Möglichkeit auch -font als Option für Dialog zu verwenden, hab ich erst im Web gefunden. Ich vermute das hängt mit der Vererbung zusammen
oder? Aber wie komme ich anhand der Doku darauf, gibt es vielleicht so eine Doku wie bei Java, wo klar herauszusehen ist wovon ein Element seine Fähigkeiten erbt. Ich bin noch einer ziemlicher Frischling bezüglich Perl und könnte da ein bisschen Hilfe zur Selbsthilfe gebrauchen.

Danke schonmal im Voraus\n\n

<!--EDIT|micha_|1158761593-->
pktm
 2006-09-20 21:14
#45845 #45845
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Die Tk::options-Manpage sagt dazu:
Quote
Name: wrapLength
Class: WrapLength
Switch: -wraplength
For widgets that can perform word-wrapping, this option specifies the maximum line length. Lines that would exceed this length are wrapped onto the next line, so that no line is longer than the specified length. The value may be specified in any of the standard forms for screen distances. If this value is less than or equal to 0 then no wrapping is done: lines will break only at newline characters in the text.


Schau mal, ob dir das weiter hilft.

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
Gast Gast
 2006-09-21 15:42
#45846 #45846
Hi Leute, hab nen Workaround für das ganze verwendet, damit geht's
wenn auch nicht so schön. Und zwar hab ich dem Dialog einfach ein Text Widget hinzugefügt. Allerdings bekommen ich trotz -borderwidth=>0 immer noch eine Umrandung. Soll das so? Naja, das Hauptproblem in diesem Thread ist erstmal umgangen. Für alle Antworten einen schönen Dank.
Falls noch einer ne Lösung für das eigentliche Problem hat immer her damit.
renee
 2006-09-21 15:54
#45847 #45847
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
pktm hat Dir die Antwort doch gegeben. So funktionierts:
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
#!/usr/bin/perl

use strict;
use warnings;
use Tk;
use Tk::Dialog;

my $mw = tkinit();

my $dialog;
$dialog=$mw->Dialog(-title=> "Mein Dialog",
-bitmap=> 'warning',
-buttons=>["Yes","No"],
-width=>100,
-height=>20,
-font=>'Helvetica 12');

my $text="ein seeeeeeeeeeeeeeeeeeeeeeeeeeeeeehr langer Text und noch viele zeichen mehr";
$dialog->configure(-text=>"$text");
$dialog->configure(-wraplength => 0);
$dialog->Show();

MainLoop;
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/
Gast Gast
 2006-09-22 16:10
#45848 #45848
@renee,
tausend Dank für den Beispielcode. Jetzt gehts einwandfrei. Als ich den
Beitrag von pktm gelesen hab, hatte ich mich schon mit meinem
Workaround zufriedengegeben. Zudem bin ich leider noch ein ziemlicher
Perlnewbie und ich komme mit der Doku noch nicht ganz so klar.
(Beispielcode hilft mir bisher noch mehr). Habs jetzt korrigiert und es läuft prima.
Ich hab mir die Tk::options nochmal durchgelesen. Verstehe ich das richtig, dass man mittels $widget->configure alle verfügbaren Optionen für das entsprechende Widget erhält? Falls ja, gibt es auch eine Möglichkeit
womit man mögliche Werte für eine Option erhält?

Viele Dank nochmal.
renee
 2006-09-22 16:43
#45849 #45849
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Guest,22.09.2006, 14:10][...]
Ich hab mir die Tk::options nochmal durchgelesen. Verstehe ich das richtig, dass man mittels $widget->configure alle verfügbaren Optionen für das entsprechende Widget erhält? Falls ja, gibt es auch eine Möglichkeit
womit man mögliche Werte für eine Option erhält?

Viele Dank nochmal.[/quote]
Ja, das hast Du richtig verstanden. Soweit ich weiß, kann man aber nicht alle möglichen Werte rausbekommen. Das dürfte auch ziemlich schwer umzusetzen sein, weil das ja (meistens) durch irgendwelche if-Bedingungen überprüft wird.
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/
<< >> 6 Einträge, 1 Seite



View all threads created 2006-09-20 18:12.