Package
Oggi vedremo come strutturare il nostro prima package.
In pratica dobbiamo creare una directory a cui assegneremo il nome myWidg ed inserire al suo interno i nostri files.
- my00init.py
- myWind.py
- myApp.py
Inoltre creiamo un file vuoto __init__.py che indica a python di gestire questa directory come un package.
Bene torniamo su di un livello e copiamo anche qui my00init.py
Modifichiamo solo questo file in modo da attivare il caricamento delle nostre librerie nella root di lavoro.
if 1:
insLib(myRoot+'/myWidg',True)
Creiamo la nostra applicazione di partenza.
l01_startGtk.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
""" lista degli oggetti definiti:
-
"""
myRev = "(rev.150823)"
#-----------------------------------------------------------------------------
# Modules
#-----------------------------------------------------------------------------
from my00init import *
#-----------------------------------------------------------------------------
# myModules
#-----------------------------------------------------------------------------
from myApp import MyApp
#-----------------------------------------------------------------------------
# myDefines
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# myClass
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# myTry
#-----------------------------------------------------------------------------
def myTry01():
""" + window (self)
"conf .------------------------.
"0001 - aBox (h application) | application |
"0002 - gBox (h global) | .--------------------.
"0004 - mBox (v main) | | g | m | menu |
"0008 - uBox (h menu) | | l | a .------------.
"0010 - bBox (v body) | | o | i | body |
"0020 - sBox (h status) | | b | n | |
" | | a | .------------.
" | | l | | status |
" .---.---.----------------.
"""
# istanza l'applicazione
self = MyApp(width=400, height=400, title="myApp",
center=True, color="#bbb", conf=0x003f, show=1)
#-----------------------------------------------------------------------------
# Main
#-----------------------------------------------------------------------------
if __name__ == "__main__":
# test arguments
if len(sys.argv) == 1:
# no arguments (scelgo io)
choi = 1
else:
# get first argument (scelta esterna)
choi = int(sys.argv[1])
if choi == 1:
# draw Applications (MyApp)
myTry01()
elif choi == 2:
# draw Applications (MyApp)
myTry01()
# avvia applicazione
Gtk.main()
Come potete vedere dal codice non c’ è nulla di nuovo ma è servito solo come esercizio per capire come usare il package myWidg.
Quello che è cambiato è il modo di importare i nostri moduli.
#-----------------------------------------------------------------------------
from my00init import *
#-----------------------------------------------------------------------------
from myApp import MyApp
Alla fine dovremo ritrovarci con la seguente struttura:
l01_startGtk.py
my00init.py
myWidg/
__init__.py
my00init.py
myWind.py
myApp.py
links:
Avvertimento
Durante il download, non sono riuscito a capire il motivo, i nomi potrebbero cambiare. Dovete rinominarli come da struttura sopra!

Se proviamo ad avviare lo script l01_startGtk.py rivediamo la nostra applicazione.
Saluti
Nel prossimo post inizieremo a creare il template dei contenitori.
Ciao alla prossima. (stay tune!)