Vorrei proporre del codice relativo al mio problema, ringrazio anticipatamente chiunque mi darà consigli e indicazioni per migliorarlo.
Il menu ha quattro diverse funzioni, quale è la più corretta ? si puo' fare di meglio ? La mia idea è quella di aprire finestre (indipendenti) che avranno funzioni diverse, caricamento dati, aggiornamenti, visualizzazioni, salvataggi, ricerche ecc... Ciao Marco #------------------------------------------------------------------------------------------------------------- # Name: prova_test_gui16.py #------------------------------------------------------------------------------------------------------------ import Tkinter from Tkinter import * import sys #print 'Number of arguments:', len(sys.argv), 'arguments.' #print 'Argument List:', str(sys.argv) Messaggio = str(sys.argv) class Applicazione: def __init__(self,finestra): finestra.title("Finestra 250x200") larghezza = finestra.winfo_screenwidth() altezza = finestra.winfo_screenheight() larghezza= larghezza/2 altezza= altezza/2 finestra.geometry("%dx%d+%d+%d" % (larghezza, altezza, 250, 200)) finestra = Tk() applicazione = Applicazione(finestra) exitButton = Tkinter.Button(finestra, text = 'Exit', command = finestra.destroy) exitButton.pack(side = 'bottom') status = Label(finestra, text=Messaggio, bd=1, relief=SUNKEN, anchor=W) status.pack(side=BOTTOM, fill=X) finestra.mainloop() #------------------------------------------------------------------------ # Name: prova_finestra_gui.py #------------------------------------------------------------------------ import sys from PyQt4 import QtGui, QtCore #print 'Number of arguments:', len(sys.argv), 'arguments.' #print 'Argument List:', str(sys.argv) Messaggio = str(sys.argv) class MainWindow(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) self.resize(350, 250) # ridimensiona la finestra self.setWindowTitle('MainWindow') self.statusBar().showMessage(Messaggio) app = QtGui.QApplication(sys.argv) main = MainWindow() main.show() sys.exit(app.exec_()) #------------------------------------------------------------------------ # Name: prova_menuform.py #------------------------------------------------------------------------ from Tkinter import * from tkMessageBox import showerror from tkFileDialog import askopenfilename import os import subprocess def notdone(): showerror('Funzione da fare', 'Funzione inesistente') def apri1(): arg1 = 'pippo' arg2 = 'pluto' cmd="prova_finestra_gui.py " + arg1 + " " + arg2 os.system(cmd) def apri2(): import prova_test_gui16 def apri3(): filename =askopenfilename(filetypes=[("allfiles","*"),("pythonfiles","*.py")]) print filename def apri4(): arg1 = 'Minni' arg2 = 'Paperino' cmd = "prova_test_gui16.py" subprocess.call([sys.executable, cmd, arg1, arg2]) # execfile(cmd) def makemenu(parent): menubar = Frame(parent) menubar.pack(side=TOP, fill=X) fbutton = Menubutton(menubar, text='File', underline=0) fbutton.pack(side=LEFT) file = Menu(fbutton) file.add_command(label='Apri1 system ...', command=apri1, underline=0) file.add_command(label='Apri2 import ...', command=apri2, underline=0) file.add_command(label='Apri3 filename .', command=apri3, underline=0) file.add_command(label='Apri4 execfile .', command=apri4, underline=0) file.add_command(label='Fine', command=parent.quit, underline=0) fbutton.config(menu=file) ebutton = Menubutton(menubar, text='Edit', underline=0) ebutton.pack(side=LEFT) edit = Menu(ebutton, tearoff=0) edit.add_command(label='Non usato1', command=notdone, underline=0) edit.add_command(label='Non usato2', command=notdone, underline=0) edit.add_separator() ebutton.config(menu=edit) submenu = Menu(edit, tearoff=0) submenu.add_command(label='Non usato10', command=parent.quit, underline=0) submenu.add_command(label='Non usato11', command=notdone, underline=0) edit.add_cascade(label='Non usato11', menu=submenu, underline=0) return menubar if __name__ == '__main__': root = Tk() root.title('Gestione di un applicativo in Python27 - Luglio 2012') makemenu(root) msg = Label(root, text='Procedura Python di prova') msg.pack(expand=YES, fill=BOTH) msg.config(relief=SUNKEN, width=70, height=20, bg='gray') w, h = root.winfo_screenwidth(), root.winfo_screenheight() # root.overrideredirect(1) root.geometry("%dx%d+0+0" % (w, h)) root.mainloop() __________ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 7340 (20120730) __________ Il messaggio è stato controllato da ESET NOD32 Antivirus. www.nod32.it
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python