Domanda

Ho un'applicazione costruita per funzionare su Windows, Linux e Solaris che utilizza la GUI Perl / TK . A causa di vincoli, siamo limitati a Perl / TK solo . Inoltre, siamo limitati a una vecchia versione Perl / Tk , 5.00404 .

Mi piacerebbe lavorare entro questi limiti per rendere l'interfaccia grafica il più piacevole e moderna possibile.

Ci sono risorse web che hanno schemi di progettazione TK (per pulsanti, cornici, colori, ecc.) che potrebbero aiutarmi in questo sforzo?


Sto anche cercando consigli di modernizzazione come quello che ho trovato qui :

  

Se scopri che le tue app Tk sembrano un po 'brutte sui sistemi basati su X, prova ad aggiungere le seguenti righe all'inizio dello script:

$mw->optionAdd("*font", "-*-arial-normal-r-*-*-*-120-*-*-*-*-*-*");
$mw->optionAdd("*borderWidth", 1);
È stato utile?

Soluzione

Prova a utilizzare le immagini anziché gli elementi dei pulsanti, quindi puoi avere lo stile che preferisci e i caratteri possono essere inseriti. Funzionerà praticamente per qualsiasi elemento in cui i contenuti non sono dinamici, compresi gli sfondi sui riquadri e simili. Concesso è più lavoro ma risolve il tuo problema, specialmente se hai un artista competente nel tuo gruppo di progetto.

Altri suggerimenti

Puoi utilizzare il motore tematico Tk per dare il tuo l'app ha un aspetto migliore.

Utilizzo di optionAdd per modificare i valori predefiniti tramite il database delle opzioni è un inizio ragionevole. Una discussione al riguardo è disponibile all'indirizzo:

http://tcl.projectforum.com/tk/221

Scarica griffin.kit da lì, usa lo strumento sdx per scartarlo e localizzarlo griffin.tcl per ottenere un buon set di impostazioni delle opzioni.

http://wiki.tcl.tk/3411 per lo strumento sdx.

Dato che in Linux lo sfondo di Tk :: Entry e Tk :: Text è grigio, utilizzerei anche le seguenti due righe.

$mw->optionAdd( '*Entry.background',   'snow1' );
$mw->optionAdd( '*Text.background',    'snow1' );

Sostituisci 'snow1' con un colore a tua scelta. Puoi anche usare la rappresentazione esadecimale (RGB) dei colori come '# ff9696'.

Il motore tematico Tile per Tk lo rende molto più bello. Tuttavia, Perl / Tk è rimasta molto indietro rispetto allo sviluppo di Tk e non può trarre vantaggio da Tile e altri progressi.

Dovresti verificare se Tkx è un'opzione per te. Non è completamente compatibile con Perl / Tk, ma l'API è abbastanza vicina. È un ponte tra Perl e Tcl / Tk, quindi può utilizzare tutte le moderne funzionalità Tcl / Tk (come Tile) pur avendo la logica dell'applicazione codificata in Perl. Molte delle utility grafiche di ActiveState utilizzano Tkx, con risultati piuttosto belli.
ActiveState PPM
(fonte: activestate.com )

Perl 5.00404 è incredibilmente antico, però. La dist Tkx afferma di dipendere da Perl=5,008 ... Non ho un Perl abbastanza vecchio per vedere quanto sia preciso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top