dany
Profilo di
Nome | dany |
---|---|
Indirizzo email | n/a |
Messaggi | 3 |
-
- 2016-03-07 11:38:18
- Re: Finestre nidificate tkinter
- Forum >> Programmazione Python >> GUI
- L'idea era quella di creare delle GUI per ciascun file e poi richiarmarle a seconda delle necessità affinchè ognuna svolgesse le proprie funzioni.
Perchè, da come mi hai indicato, io devo fare l'importazione dei moduli e poi, dallo script che genera della gui utilizzare le funzioni di ciascun file a seconda della necessità.
Ma poniamo che io abbia un numero n di file, dovrei fare "import calcolo1, calcolo2, ..., calcolon" e poi dovrei avere n funzioni nella finestra principale.
Il risultato potrebbe essere, ipoteticamente, un'importazione di 100 file ed un file "mainwindow.py" (che è quello con la gui) magari di 20 Mb.
Non è possibile avere dei file, ciascuno che fa le cose che è deputato a fare, ciascuno con la propria gui e, semplicemente, avere una gui comune all'intero della quale caricare le altre solo quando servono?
Per chiarire, un po' come fare una chiamata asincrona di javascript, o, più banale ancora, un iframe di HTML dove, a seconda di dove clicco, dentro il frame viene caricato il contenuto di un file, piuttosto di un altro.
-
- 2016-03-07 09:54:31
- Re: Finestre nidificate tkinter
- Forum >> Programmazione Python >> GUI
- Hai ragione, allora, ti mostro il codice:
from tkinter import * from tkinter import ttk from PIL import Image, ImageTk class CreaMenu(Frame): def __init__(self, parent): ttk.Frame.__init__(self, parent, relief=FLAT, borderwidth=0) self.parent = parent self.initUI() def initUI(self): menubar = Menu(self.parent) self.parent.config(menu=menubar) fileMenu = Menu(menubar, tearoff=0) fileMenu.add_command(label="Calcolo 1" ) fileMenu.add_command(label="Calcolo 2" ) menubar.add_cascade(label="Generale", menu=fileMenu) # Programma Principale def main(): root = Tk() root.geometry("650x550+300+300") root.title("Finestra principale") appBase = CreaMenu(root) root.mainloop() main()
La finestra mi viene creata regolarmente e ho il meù in alto con la voce "Generale". Se clicco su di essa mi si apre la cascata con "Calcolo 1" e "Calcolo 2".
A questo punto, i due calcoli li ho su due fil che si chiamano calcolo1.py e calcolo2.py.
Io vorrei che cliccando su "Calcolo 1" del menù venisse eseguito il codice del file calcolo1.py, ovviamente, però, non voglio che venga creata una nuova finestra, ma il codice venga eseguito dentro la finestra principale. Nella stessa maniera se clicco su "Calcolo 2", mi deve venire eseguito il codice di calcolo2.py all'interno della finestra principale (rimuovendo, se ci sono, altre cose presenti).
--- Ultima modifica di dany in data 2016-03-07 09:56:36 ---
-
- 2016-03-06 19:28:52
- Finestre nidificate tkinter
- Forum >> Programmazione Python >> GUI
- Salve, premetto che sono decisamente nuovo della programmazione Python e, specialmente, a lavorare con le gui.
Vorrei capire come realizzare una cosa che è certamente banale, ma che proprio non mi riesce:
Io ho realizzato una finestra con un menu a cascata. All'interno del menù ho le varie voci. A questo punto vorrei che, cliccando su queste voci, mi venisse caricato un file .py non però in una nuova finestra, ma all''interno della stessa. Così ogni volta che si seleziona una voce del menù, viene eseguito il file corrispondente.
Spero di essermi spiegato bene e che qualcuno possa aiutarmi.