🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
5 messages
5 total messages Started by Marek Kozlowski Thu, 10 Dec 2009 17:36
python i dynamiczne interface'y albo pygtk i sensowność glade'a?
#27055
Author: Marek Kozlowski
Date: Thu, 10 Dec 2009 17:36
18 lines
1781 bytes
:-)
Kiedyś, dawno temu napisałem małą aplikacyjkę w pygtk. Interface 
tworzony był w niej w kodzie. Naszło mnie, żeby ją "unowocześnić" a 
zarazem poćwiczyć posługiwanie się glade i zapisać interface w XMLu. Hm...

...W kodzie tworzenie interface było bardzo czytelne i zajmowało około 
180 linii. Wygenerowany plik glade dla tego interface ma ~800 linii i 
jest kompletnie nieczytelny (ręczne poprawki -- brrr! trudno rozróżnić 
opcje, które ustawiłem umyślnie od opcji, które ustawiło domyślnie 
glade). Zamiast w pliku tekstowym (*.py) jest w pliku tekstowym 
(*.glade). I też można go sobie poprawić w locie, tyle, że trudniej...

W przypadku języków kompilowanych opis interface w osobnym pliku XML 
jest sensownym pomysłem. Czy w pythonie ma to jednak jakikolwiek sens? 
Czy jest może coś co zyskujemy, a czego nie zauważyłem?

Pozdrawiam,
/M
Re: python i dynamiczne interface'y albo pygtk i sensowność glade'a?
#27056
Author: Daniel Mróz
Date: Thu, 10 Dec 2009 17:58
22 lines
1911 bytes
On 10.12.2009, Marek Kozlowski <kozlowsm@mini.pw.edu.pl> wrote:
> ...W kodzie tworzenie interface było bardzo czytelne i zajmowało około 
> 180 linii. Wygenerowany plik glade dla tego interface ma ~800 linii i 
Bo pliki .glade edytuje się w aplikacji, w której możesz sobie ten
interfejs wyklikać, a nie ręcznie.
Glade ma sens w przypadku projektów, gdzie interfejs użytkownika
nie ma jeszcze ostatecznego kształtu i ulega ciągłym zmianom. Takie
rzeczy można szybko i w miarę bezstresowo wykonać w programie (glade2?),
natomiast przy interfejsie wyklepanym w klasach, trzeba przerzucać
całe bloki kodu, zmieniać dowiązania itp. przy każdej zmianie położenia
elementów.
Glade ma też sens dla leniwych ;)


Pozdrawiam
Beorn

-- 
Daniel 'Beorn' Mróz <beorn@alpha.pl>    http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V!  PS+ PE++ Y+ PGP++ t- 5  X R !tv b+ DI D++ G++ e h*]
[                          r++  y+                           ]
Re: python i dynamiczne interface'y albo pygtk i sensowność glade'a?
#27057
Author: Marek Kozlowski
Date: Thu, 10 Dec 2009 18:25
34 lines
2294 bytes
Daniel Mróz wrote:
> On 10.12.2009, Marek Kozlowski <kozlowsm@mini.pw.edu.pl> wrote:
>> ...W kodzie tworzenie interface było bardzo czytelne i zajmowało około 
>> 180 linii. Wygenerowany plik glade dla tego interface ma ~800 linii i 
> Bo pliki .glade edytuje się w aplikacji, w której możesz sobie ten
> interfejs wyklikać, a nie ręcznie.

Wszystko cacy, jeśli zmieniasz kontrolkę po kontrolce. Jeśli chcesz coś 
zmienić dla N kontrolek (jakiś default), to klikanie jest nieco 
czasochłonne.

To trochę jak pisanie książki w Wodzie albo vim+latex. Na pewnym 
poziomie bez klikania wychodzi szybciej...

> Glade ma sens w przypadku projektów, gdzie interfejs użytkownika
> nie ma jeszcze ostatecznego kształtu i ulega ciągłym zmianom. Takie
> rzeczy można szybko i w miarę bezstresowo wykonać w programie (glade2?),

Mówimy o Glade3.

> natomiast przy interfejsie wyklepanym w klasach, trzeba przerzucać
> całe bloki kodu, zmieniać dowiązania itp. przy każdej zmianie położenia
> elementów.

E... A co za różnica czy zmieniasz plik XML, czy piszesz malutki moduł 
ładujący element interface?

> Glade ma też sens dla leniwych ;)

No właśnie moje doświadczenia pokazują, że nie bardzo... W kodzie idzie 
mi znacznie szybciej.

Pozdrawiam,
/M
Re: python i dynamiczne interface'y albo pygtk i sensowność glade'a?
#27053
Author: Daniel Mróz
Date: Thu, 10 Dec 2009 19:41
42 lines
3032 bytes
On 10.12.2009, Marek Kozlowski <kozlowsm@mini.pw.edu.pl> wrote:
>>> ...W kodzie tworzenie interface było bardzo czytelne i zajmowało około 
>>> 180 linii. Wygenerowany plik glade dla tego interface ma ~800 linii i 
>> Bo pliki .glade edytuje się w aplikacji, w której możesz sobie ten
>> interfejs wyklikać, a nie ręcznie.
> Wszystko cacy, jeśli zmieniasz kontrolkę po kontrolce. Jeśli chcesz coś 
> zmienić dla N kontrolek (jakiś default), to klikanie jest nieco 
> czasochłonne.
Defaultów to raczej się już nie tyka po zdefiniowaniu. Co innego jeśli
chodzi o przesunięcie jakichś pól tekstowych, czy machanie przyciskami.

> To trochę jak pisanie książki w Wodzie albo vim+latex. Na pewnym 
> poziomie bez klikania wychodzi szybciej...
Dlatego jeśli już używałem glade to tylko do prototypowania. Kiedy już
wiedziałem co chcę osiągnąć, klepałem wszystko w kodzie.

>> natomiast przy interfejsie wyklepanym w klasach, trzeba przerzucać
>> całe bloki kodu, zmieniać dowiązania itp. przy każdej zmianie położenia
>> elementów.
> E... A co za różnica czy zmieniasz plik XML, czy piszesz malutki moduł 
> ładujący element interface?
Zakładam, że zmian dokonujesz w glade2/3, a nie bezpośrednio w pliku XML.
Przeniesienie przycisku w inne miejsce przy pomocy aplikacji jest szybsze
i nie wymaga modyfikacji kodu. W przypadku interfejsu "wyklepanego" trzeba
już się bawić, bo zmienia się kontener i przycisk inaczej wpływa na inne
elementy.

>> Glade ma też sens dla leniwych ;)
> No właśnie moje doświadczenia pokazują, że nie bardzo... W kodzie idzie 
> mi znacznie szybciej.
Wiesz, dla mnie pisanie w LaTeXu jest prostsze, dla kogoś innego Word
jest łatwiejszy. Kwestia gustu i preferencji.


Pozdrawiam
Beorn

-- 
Daniel 'Beorn' Mróz <beorn@alpha.pl>    http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V!  PS+ PE++ Y+ PGP++ t- 5  X R !tv b+ DI D++ G++ e h*]
[                          r++  y+                           ]
Re: python i dynamiczne interface'y albo pygtk i sensowność glade'a?
#27059
Author: Marek Kozlowski
Date: Thu, 10 Dec 2009 22:13
11 lines
1422 bytes
:-)
> Wiesz, dla mnie pisanie w LaTeXu jest prostsze, dla kogoś innego Word
> jest łatwiejszy. Kwestia gustu i preferencji.

Ale zawsze warto zapytać kogoś z większym doświadczeniem....

BTW: Właśnie wgrałem 3.6.7. Miła cecha, że wreszcie zaznacza wszystkie 
non-defaulty -- bez tego była porażka.

Pozdrawiam,
/M
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads