Ho lavorato a una GUI utilizzando Perl Tkx e ho scoperto che esistono due funzioni separate che è possibile utilizzare per creare pulsanti. (button
e ttk__button
).Perl Tkx, qual è la differenza tra "pulsante" e "ttk__button"?
Finora l'unica differenza che ho trovato è che la funzione button
sembra centrare il testo mentre la funzione ttk__button
a sinistra giustifica il testo.
Esempio con button
:
#!/usr/bin/perl
use strict;
use warnings;
use Tkx;
my $text = "Hello\nworld!\n\nThis is some text...";
my $mw = Tkx::widget->new(".");
my $b = $mw->new_button(
-text => $text,
-command => sub { exit; },
);
$b->g_grid;
Tkx::MainLoop()
Questo script centrare il testo:
Esempio con ttk__button
:
#!/usr/bin/perl
use strict;
use warnings;
use Tkx;
my $text = "Hello\nworld!\n\nThis is some text...";
my $mw = Tkx::widget->new(".");
my $b = $mw->new_ttk__button(
-text => $text,
-command => sub { exit; },
);
$b->g_grid;
Tkx::MainLoop()
Questo script sinistra giustificare il testo:
Mi chiedevo quali altre differenze ci sono tra queste due funzioni, e se non v'è alcuna ragione particolare ci sono due funzioni separate che creare pulsanti. Uno di questi è in genere migliore da usare rispetto all'altro?
Inoltre c'è un modo per centrare giustificare il testo utilizzando la funzione ttk__button
?
EDIT:
ho aggiunto il tag "Tcl" per questo poiché il Perl TKX è essenzialmente costruito fuori di Tcl. Sono abbastanza bravo con Perl ma sono un po 'novizio quando si tratta di Tcl.
Anche se a prima vista potrebbe non sembrare, questa è in realtà più una domanda Tcl che una domanda Perl quindi mi piacerebbe sentire una risposta da qualcuno che ha esperienza con Tcl.
NOTA:
per centrare il testo in un ttk__button
aggiungere la seguente riga di codice:
Tkx::ttk__style_configure('TButton', -justify => 'center');
Ok, è esattamente quello che mi stavo chiedendo, ma c'è un modo per centrare il testo su un pulsante 'ttk'? Quando uso più righe di testo e allinea tutto ha un aspetto brutto. – tjwrona1992
Personalmente, rivalutarei il design che posiziona il testo su più righe in un pulsante. Il controllo più preciso dei widget di 'ttk' può essere esercitato tramite l'attributo' -style'. – tjd
Bene, ho un pulsante che deve adattarsi a uno spazio relativamente piccolo. Anche se avesse il suo modo di tradurre a capo il testo che sarebbe utile. In questo momento se non uso "\ n" per farlo incrociare più righe, metterà tutto in una riga e allungare il display per adattarlo, il che non sembra molto buono. – tjwrona1992