[Python] Help - Menu
Marco
mlemmi a alice.it
Mar 31 Lug 2012 20:24:10 CEST
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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120731/618a13eb/attachment.html>
Maggiori informazioni sulla lista
Python