.geometry in Tkinter

di il
19 risposte

19 Risposte - Pagina 2

  • Re: .geometry in Tkinter

    20/02/2023 - goldman ha scritto:


    Se non fosse strrano non avrei chiesto aiuto a questo forum.

    Nessuno ti ha detto che non devi chiedere aiuto.

    L'errore non è strano: è ben preciso, ma tu dici che persiste… tuttavia, cambi il codice, poi riporti un errore diverso, quindi di fatto smentisci chi ti risponde dicendo una cosa e invertendola esattamente un istante dopo.

    Per cercare di circostanziare e capire poi, ti sono state fatte diverse domande, e tu non hai risposto a nessuna di queste.

    20/02/2023 - goldman ha scritto:


    Ho modificato lo statement in cento modi diversi seguendo per giorni pedissequamente gli esempi che vengono dati nel web su siti di tutto rispetto.

    Non è il modo corretto di procedere: non si cambia codice a caso, si torna alla versione originale e - in caso di problemi - si copia/incolla il codice così com'è (senza errori di battitura) e indicando l'errore e la riga a cui si verifica.

    20/02/2023 - goldman ha scritto:


    Poichè inoltre il debub degli errori di python è piuttosto primitivo mi è capitato altre volte che l'errore denunciato su di una riga si riferisse alla precedente

    Il debug di Python è tutto fuorché primitivo. Inoltre, non so come hai fatto a determinare che l'errore denunciato si riferisse alla precedente: magari invece è esattamente sulla riga indicata dal debugger. Nel dubbio comunque, tu non hai indicato né quella segnalata dal debugger né quella che pensi possa essere.

    20/02/2023 - goldman ha scritto:


    quindi ho commentato in questo codice tutte le righe precedenti non essenziali. Nulla da fare.

    Come fai a sapere che non sono essenziali? Stai usando una “format string” di Python che ha il compito di formattare i valori contenuti in specifiche variabili: se le commenti, come pensi che possa funzionare quell'istruzione.

    Python è un linguaggio interpretato: se commenti tutte le righe che ne precedono una, di fatto elimini il contesto che porta quella riga ad avere un senso e a funziona correttamente.

    20/02/2023 - goldman ha scritto:


    Il debug riporta tipi di errori differenti facendo girare due volte lo stesso codice e sono io il primo a trovare strano questo risultato, come trovo strano che per parametrizzare un dato numerico su questo metodo (geometry) gli esempi riportino un notevole numero di sintassi possibili (provate tutte, nessuna funzionante). 

    Guarda, milioni di sviluppatori usano Python, quindi evidentemente c'è qualcosa che non funziona nella tua macchina, ammesso che tutto venga usato come ci si aspetta, cosa che non è possibile determinare, perché dopo N messaggi ancora non è chiaro qual è il codice finale e qual è l'errore e qual è la riga, ripeto.

    20/02/2023 - goldman ha scritto:


    Le insinuazioni  di superficialità ed il leggero sarcasmo non giovano alla soluzione del problema […]

    Impiegando tempo nel cercare di capire continuando a porre domande che non trovano risposte, mi arrogo il diritto di contestare questo modo di procedere, e il fatto che venga preso per “sarcasmo” aumenta il livello di presa in giro.

    20/02/2023 - goldman ha scritto:


    ho passato vari giorni a cercare di capire la natura dell'errore valendomi dell'esperienza maturata  di alcune decine di annii di programmazione inaltri linguaggi.

    Vista l'evoluzione della discussione, decantare la pluriennale esperienza in programmazione non giova senz'altro, ma se anche fosse non aggiunge alcun dettaglio rilevante alla discussione.

    Ripeto il contesto: si vuole avere una mano per risolvere un errore su codice, e non è ancora dato sapere qual è il codice definitivo, qual è l'errore né qual è la riga, né qual è l'esito delle prove fatte con i suggerimenti “alternativi” fatti da altri utenti.

  • Re: .geometry in Tkinter

    Ho fatto una prova al volo con PyCharm e Python 3.7: al primo tentativo mi ha dato questo errore:

    _tkinter.TclError: bad geometry specifier "600x300+660.0+390.0"

    Notare l'offset espresso con numeri non interi. Ho convertito in interi x e y e il tutto funziona.

    # -*- coding: utf-8 -*-
    import tkinter as tk
    
    win = tk.Tk()
    
    w = 600 # Width
    h = 300 # Height
    
    screen_width = win.winfo_screenwidth()  # Width of the screen
    screen_height = win.winfo_screenheight()  # Height of the screen
    
    # Calculate Starting X and Y coordinates for Window
    x = int((screen_width/2) - (w/2))
    y = int((screen_height/2) - (h/2))
    
    win.geometry(f"{w}x{h}+{x}+{y}")
    
    win.mainloop()
  • Re: .geometry in Tkinter

    Chiedo scusa ad Oregon. 

    Il suo suggerimento del 20feb alle ore 12:13 mi era sfuggito. Ho lavorato per molti giorni alla ricerca della soluzione e quando l'ho trovata mi sono accorto che Oregon l'aveva già formulata mentre tutte le altre suggerite si sono rivelate non valide.

    oldman 

  • Re: .geometry in Tkinter

    Beh, nessun problema per me, solamente ti consglio in futuro di fare più attenzione alle risposte dato che fai domande nel forum …

  • Re: .geometry in Tkinter

    Win.geometry(f"{w}x{h}+{x}+{y}")

Devi accedere o registrarti per scrivere nel forum
19 risposte