PerlGtk.pl

  
Menu główne
use PerlMongers::Warszawa;
use PerlMongers::Krakow;
NG_gRadio
Perl Tk - część XIV
  przez wrares (62 odsłon)
Wykorzystanie w swoich aplikacja ikony które miałyby podkreślić znaczenie informacji, jest bardzo dobrym pomysłem. Stwierdzono że jeden obraz może zastąpić wiele słów. Dziś spróbujemy wykorzystać taką możliwość jaką oferuje Nam Ekosystem Perla. Wykorzystamy w tym celu listę na której umieścimy ikonę oraz adres poczty e-mail. Standardowo Ekosystem Perla w którym zainstalowaliśmy moduł Tk, dostarcza pewnego zbioru ikon, z którego możemy skorzystać. Ikony muszą być zapisane w formacie XPM.... Ikony są standardowo zapisane w katalogu C:\Perl\site\lib\Tk, wykorzystując dystrybucję ActiveState dla Win32. My natomiast chcemy mieć własne ikony, które umieścimy przy adresie poczty, która prezentowana jest na formatce. A więc co zrobiliśmy.
Cytat:


1) Pobraliśmy z internetu program GIMP... i zainstalowaliśmy na dysku lokalnym.

2) Pobraliśmy zestaw ikon z internetu z tej strony... i rozpakowaliśmy ikony tworząc katalog

3) W uruchomionym programie GIMP wczytaliśmy plik Email.PNG z katalogu PNG-48

4) Zmieniliśmy format z PNG na XPM poprzez wybór Zapisz jako...

5) Skopiowaliśmy plik Email.xpm do katalogu C:\Perl\site\lib\Tk

6) Napisaliśmy skrypt w którym wykorzystaliśmy ikonę



Skrypt ma za zadanie utworzyć listę z adresem poczty -e-mail pracowników, każdemu adresowi dodać ikonę oraz to wszystko wyświetlić na formatce.
Możliwość wyświetlania ikony musi być przypisana komponentowi. Jeśli komponent takowej nie ma, to w sposób prosty nie możemy tego zrobić. Używając modułu Tk, standardowo ikony są szukane w tym katalogu
Cytat:

C:\Perl\site\lib\Tk


Aby wykorzystać funkcję do pobierania ikon,
Getimage('Email');

do tego katalogu należy skopiować pliki XPM.

A jak wygląda Nasz kod
#!/usr/bin/perl 

use strict;
use warnings;

use utf8;
use Tk;
use Tk::TList;

my $mw = Tk::MainWindow->new();
$mw->title("Poczta Portalu Perlgtk.pl");
$mw->resizable(1,1);
$mw->geometry('+400+400');
#minimalna szerokość i wysokość podana w pikselach
$mw->minsize(qw(400 400));

#maksymalna szerokość i wysokość podana w pikselach
$mw->maxsize(qw(400 400));



Powyżej mamy obraz standardowego wywołania modułów oraz początkowego ustawienia formatki.

my $ikona = $mw->Getimage('Email');  #Folder
my $lista = $mw->TList(-orient => 'vertical');

Jakiej użyjemy ikony, oraz jak będzie wyglądać Nasz lista.

 for my $text ( qw/Witek@gmail.com
                      Alicja@gmail.com
                      Katarzyna@gmail.com
                      Patrycja@gmail.com
                      Krzysztof@gmail.com
                      Grzegorz@gmail.com
                      Jan@gmail.com
                      Paweł@gmail.com
                      Genowefa@gmail.com/ ) {
        $lista->insert('end',-itemtype=>'imagetext', -image=>$ikona, -text=>$text);
    }

Zasilamy Naszą listę informacjami, które ustawiamy definując
Cytat:

1) Ma być obraz z tekstem

2) Obrazem jest ikona Email

3) Opis tekstowy konta pracownika



Jest to typowe pobieranie informacji funkcją insert

$lista->pack(-expand=>'yes', -fill=>'both');

MainLoop;



Pakujemy i wywołuję pętlę.

Jak widać, programy pisane z wykorzystaniem modułu Tk, wcale nie muszą być "toporne". Używanie grafiki w swoich programach, podnosimy ich walor użytkowy, co w konsekwencji nie odbiega od wielu komercyjnych rozwiązań. Patrząc na prostotę kodu, oraz możliwości dalszej rozbudowy tego programu poprzez wpisanie rzeczywistych adresów poczty e-mail, dostajemy w pełni profesjonalny program, który Nas w najbardziej krytycznych chwilach nie zawiedzie.
Dostępny zrzut ekranu jest tutaj.... Skrypt dostępny jest w Naszym portalu na tej stronie...
Powrót
Szukaj w PerlGtk.pl
The Perl Job site
Szukaj kodu :