Forum
>>
Programmazione Python
>>
GUI
>>
[tkinter] drag and drop, ne parliamo?
Pagina: Indietro 1 2
Esegui il login per scrivere una risposta.
Scritto da nuzzopippo |
2024-11-20 17:10:44 - Re: [tkinter] drag and drop, ne parliamo?
|
Ti ringrazio per la Tua disponibilità, prendi tranquillamente tutto il tempo che Ti serve
... comunque, ho il sospetto che il problema derivi dai decoratori "@property" e "@<metodo>.setter" utilizzati nella classe definente l'elemento "drag-drop", apparentemente non vengono ereditati correttamente. Infatti, implementando specifici metodi getter e setter (tipo set_dragable(self, variabile) e get_dragable(self)) le variabili di classe self._dragable e self._dropable vengono variate (prima non avveniva) e si ha conformità nelle valutazioni tra classe ed oggetto. Approfondirò, intanto grazie del Tuo interessamento. Edit: bah ... forse non pongo domande "giuste" nelle mie ricerche, ma non ho trovato informazioni direttamente associate al caso specifico, però ho trovato più volte indicato che "l'incapsulazione delle classi non è completa in python", penso che la problematica da me riscontrata possa ricadere in tale ambito. In effetti, utilizzando i decoratori built-in prima indicati non faccio altro che incapsulare dei metodi di classe in funzioni, forse è possibile che l'ulteriore incapsulamento che avviene utilizzando l'ereditarietà non arrivi a definire tale circostanza. Comunque, evitando i decoratori ed utilizzando metodi diretti per l'impostazione delle proprietà _dragable e _dropable, la funzionalità dello insieme tornano nei criteri da me conosciuti. Pur se esistono varianti possibili da studiarsi (non ultima la definizione di classi-decoratore per i widget) credo che la metodologia a "metodo diretto" raggiunga un sufficiente compromesso tra semplicità ed elasticità, permettendo di svolgere l'intero lavoro (a parte i metodi astratti) all'interno della classe-madre ... --- Ultima modifica di nuzzopippo in data 2024-11-22 10:22:33 --- Fatti non foste a viver come bruti... |
Pagina: Indietro 1 2
Esegui il login per scrivere una risposta.