Forum >> Principianti >> IMMAGINI

Pagina: 1

Ciao a tutti,
non so se qualcuno ha già postato la stessa richiesta; sono alle prime armi con Python...
Mi serve inserire un'immagine che compaia in calce ad un menù, come si fa?
Grazie in anticipo per la pazienza e aiuto.


--- Ultima modifica di carlodenei in data 2021-01-27 18:19:27 ---
-se non sai chiedi, se credi di sapere confrontati, se ti accorgi di non sapere fa un passo in dietro e ascolta -
Ciao caro e benvenuto. :birrame:

Devi contestualizzare un po' meglio la tua domanda, mettere un'immagine in quale menu, di quale applicazione/libreria stai parlando?

Visto che ci, sei spiega anche su quale piattaforma sei e con che versione del linguaggio stai lavorando.

Cya
Daniele aka Palmux said @ 2021-01-27 18:37:48:
Ciao caro e benvenuto. :birrame:

Devi contestualizzare un po' meglio la tua domanda, mettere un'immagine in quale menu, di quale applicazione/libreria stai parlando?

Visto che ci, sei spiega anche su quale piattaforma sei e con che versione del linguaggio stai lavorando.

Cya

Buongiorno, hai perfettamente ragione, perdonami.

Ho creato un menù "principale" con python 3.8.6, text editor Atom... ho importato tkinter, seguendo qua e la diversi tutorial per capirci qualcosa.

Nel menù sono presenti dei bottoni per un login e\o registrazione utente.

Vorrei mettere un'immagine come sfondo della schermata, una sorta di filigrana magari, oppure in un angolo.

Grazie.
-se non sai chiedi, se credi di sapere confrontati, se ti accorgi di non sapere fa un passo in dietro e ascolta -
Vorrei mettere un'immagine come sfondo della schermata, una sorta di filigrana magari, oppure in un angolo.
Ciao
Allora, ho atteso di avere un un po' di tempo per poter fare un esempio, l'ho fatto in due passi, nel primo (file example_01.py) è mirato all'inserimento di una immagine di background ad una finestra.
Tale processo può essere fatto in vari modi, più o meno avanzati, ho scelto il più semplice : assegnare una immagine ad una label posizionata con il gestore di geometria "place" ed istruita ad occupare il 100% dello oggetto contenitore (un sub-classamento di Tkinter.Tk(), ovviamente il frame della finestra).
Più degli accorgimenti, tipo ridimensionamento della finestra alla dimensione immagine, che diventa la dimensione minima della finestra, centratura sullo schermo, etc., piccole utilità che potrebbero servire, l'immagine viene scalata alle dimensioni finestra in caso di variazione.
Il tutto è commentato.

Nel secondo esempio ho simulato una finestra di login, con i controlli minimi necessari, due label, due entry e due pulsanti, separato per mostrarTi l'evoluzione del discorso e mettere l'accento sulla trasparenza dello sfondo delle label, impossibile in sistemi linux (unici che uso) ma possibile in ambienti windows che suppongo di Tuo utilizzo e che ho preimpostato, le istruzioni relative sono all'interno di example_02.py.
In caso di utilizzo di sistemi Mac, le istruzioni sarebbero diverse, per linux bisognerebbe mettere da parte le label ed utilizzare i canvas.
Qualora ti occorra "vedere" come inserire icone in bottoni e voci di menu, fai sapere, molto tempo fa ho messo in rete un esempio (neanche commentato), se ti serve lo trovo e te lo indico.
il codice è nei files allegati al post

Edit dimenticavo, modifica il pathname della immagine nell'istanza a MainWin

--- Ultima modifica di nuzzopippo in data 2021-02-27 09:39:32 ---
Fatti non foste a viver come bruti...
Allegati
I miei saluti.





Oggi ho avuto modo di provare lo script su di un sistema windows e, con raccapriccio, mi son reso conto che la "trasparenza" di sfondo per una label non corrisponde ad una visibilità dell'immagine sottostante, come mi aspettavo, bensì ad un vero e proprio buco nella finestra e visibilità dello schermo sottostante alla stessa ... cosa per niente voluta nel mio secondo script di esempio.




Mi scuso con eventuali lettori che siano stati tratti in inganno da questa mia erronea interpretazione :angry:




Il rimedio è sufficientemente semplice : eliminare tutte le label, utilizzare un canvas per la rappresentazione dell'immagine di sfondo ed utilizzare lo stesso canvas per scrivere il testo delle didascalie occorrenti, allineandolo alle entry utilizzando il metodo grid_bbox() della finestra.




Nel file che si allega è implementata tale metodologia.




Mi scuso ancora, ciao.

Fatti non foste a viver come bruti...
Allegati
I miei saluti.





Oggi ho avuto modo di provare lo script su di un sistema windows e, con raccapriccio, mi son reso conto che la "trasparenza" di sfondo per una label non corrisponde ad una visibilità dell'immagine sottostante, come mi aspettavo, bensì ad un vero e proprio buco nella finestra e visibilità dello schermo sottostante alla stessa ... cosa per niente voluta nel mio secondo script di esempio.




Mi scuso con eventuali lettori che siano stati tratti in inganno da questa mia erronea interpretazione :angry:




Il rimedio è sufficientemente semplice : eliminare tutte le label, utilizzare un canvas per la rappresentazione dell'immagine di sfondo ed utilizzare lo stesso canvas per scrivere il testo delle didascalie occorrenti, allineandolo alle entry utilizzando il metodo grid_bbox() della finestra.




Nel file che si allega è implementata tale metodologia.




Mi scuso ancora, ciao.


Ciao, ti ringrazio, me li studio con attenzione. scusa per il ritardo nella mia risposta.




Grazie ancora!!
-se non sai chiedi, se credi di sapere confrontati, se ti accorgi di non sapere fa un passo in dietro e ascolta -


Pagina: 1



Esegui il login per scrivere una risposta.