Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Robot tagliaerba Navimow i105E in prova: GPS e videocamera per un prato perfetto
Robot tagliaerba Navimow i105E in prova: GPS e videocamera per un prato perfetto
Abbiamo testato per alcune settimane il Navimow i105E, un robot tagliaerba che unisce il segnale RTK alla visione con videocamera intelligente, per un posizionamento preciso e un taglio impeccabile
Xiaomi 14 e Xiaomi 14 Ultra: sono davvero macchine fotografiche 5G?
Xiaomi 14 e Xiaomi 14 Ultra: sono davvero macchine fotografiche 5G?
Xiaomi 14 e Xiaomi 14 Ultra sono due dei più performanti cameraphone del 2024. Li abbiamo messi sotto torchio con tutte le prove che effettuiamo solitamente per le recensioni delle fotocamere, per saggiarne il comportamento e avere tutti i dati tecnici per un confronto ragionato
Corsair One i500: un PC gaming potente che può stare anche in salotto
Corsair One i500: un PC gaming potente che può stare anche in salotto
Corsair One i500 è un PC completo molto potente ma che occupa poco spazio e lo fa con stile. Un sistema che può servire tanto per lavorare quanto per giocare, con molti spunti interessanti ma anche qualche neo. Il prezzo è da capogiro.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-09-2023, 08:29   #1
steno12
Junior Member
 
Iscritto dal: Sep 2023
Messaggi: 6
[Python] All'avvio non visualizza la finestra

Buongiorno a tutti

spero sia postato bene il codice.

voglio digitare quindi intercettare il tasto premuto e scriverlo in una label
la label dove scrivere è "welcome_label1"

ok

ma se lancio il codice non visualizza la finestra e qu8indi non posso fare nulla.

Ma... leggi sotto...


Codice:
import tkinter as tk
from pynput import keyboard  
import keyboard
from pynput.keyboard import Key, Controller 
from pynput.keyboard import Listener  

key = 0

# instantiating the Controller class  
the_keyboard = Controller()  

# using the press() and release() methods  
# the_keyboard.press('x')  
# the_keyboard.release('x')  

window = tk.Tk()
window.geometry("600x600")
window.title("Hello TkInter!")
window.resizable(False, False)
window.configure(background="white")


def close_window():
   window.destroy()

  
def first_print():
    text = "Hello World!"
    text_output = tk.Label(window, text=text, fg="red", font=("Helvetica", 16))
    text_output.grid(row=10, column=60, sticky="W")
    

first_button = tk.Button(text="Saluta!", command=first_print)
first_button.grid(row=10, column=5, sticky="W")



terzo_button = tk.Button(text = "Click and Quit", command = close_window)
terzo_button.grid(row=10, column=30, sticky="W")




def on_press(key):

   welcome_label1 = tk.Label(window,
                         text=key,
                         font=("Helvetica", 10))
   welcome_label1.grid(row=10, column=10, sticky="N", padx=20, pady=10)



with Listener(
        on_press=on_press) as the_listener:
      #  on_release=on_release) as listener:
      the_listener.join()

if __name__ == "__main__":
               window.mainloop()


se levo la funzione def on_press(key): e tolgo:

Codice:
with Listener(
        on_press=on_press) as the_listener:
      #  on_release=on_release) as listener:
      the_listener.join()
giustamente la finestra si crea

dove sbaglio?

mi sto riavvicinando alla programmazione con python, dall'ultimo post fatto, ci ho messo giorni a capire di intentare il code in python se no avevo errori azzz ):.

Stavo per lasciare perdere in quanto molto frustrato ma non voglio mollare.

Grazie per l'aiuto
steno12 è offline   Rispondi citando il messaggio o parte di esso
Old 28-09-2023, 11:38   #2
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8686
Studia da internet, prendi un libro python. Nessuno dice che devi mollare, ma mi dai l'impressione di andare a "sentimento"

Ecco un esempio funzionante:
Codice:
import tkinter as tk
from pynput.keyboard import Key, Listener

def close_window():
    window.destroy()

def first_print():
    global entered_text
    text = "Hello World!"
    entered_text = text
    update_text_output()

def on_press(key):
    global entered_text
    if key == Key.space:
        entered_text += " "
    elif hasattr(key, 'char'):
        entered_text += key.char
    update_text_output()

def update_text_output():
    text_output.config(text=entered_text)

def main():
    global window, entered_text, text_output 

    window = tk.Tk()
    window.geometry("600x600")
    window.title("Hello World!")
    window.resizable(False, False)
    window.configure(background="white")

    entered_text = ""

    first_button = tk.Button(text="Saluta!", command=first_print)
    first_button.grid(row=10, column=5, sticky="W")

    terzo_button = tk.Button(text="Click and Quit", command=close_window)
    terzo_button.grid(row=10, column=30, sticky="W")

    text_output = tk.Label(window, text="", fg="red", font=("Helvetica", 16))
    text_output.grid(row=10, column=60, sticky="W")

    with Listener(on_press=on_press) as the_listener:
        window.mainloop()

if __name__ == "__main__":
    main()
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 28-09-2023, 16:14   #3
steno12
Junior Member
 
Iscritto dal: Sep 2023
Messaggi: 6
Azzz... spettacolo! funzionante Grazie x_Master_x

si certo studiare sul web ma ci sono cose nel flusso che possono bloccarti.

però devo capire:

avevo scritto:
Codice:
if __name__ == "__main__":

        window.mainloop()
mentre tu scrivi:

Codice:
        window.mainloop()

if __name__ == "__main__":
    main()
main() riporta al main questo lo capisco ma non capisco dove porta
window.mainloop() ?

infatti se la tolgo sono daccapo
steno12 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Robot tagliaerba Navimow i105E in prova: GPS e videocamera per un prato perfetto Robot tagliaerba Navimow i105E in prova: GPS e v...
Xiaomi 14 e Xiaomi 14 Ultra: sono davvero macchine fotografiche 5G? Xiaomi 14 e Xiaomi 14 Ultra: sono davvero macchi...
Corsair One i500: un PC gaming potente che può stare anche in salotto Corsair One i500: un PC gaming potente che pu&og...
realme 12X 5G: ottimo compromesso a meno di 200 euro realme 12X 5G: ottimo compromesso a meno di 200 ...
Recensione Apple iPad Pro M4: è più potente di un MacBook Air M3 Recensione Apple iPad Pro M4: è più...
OVHcloud apre la sua prima Public Cloud ...
Il dominio della prossima generazione di...
Acer annuncia i nuovi monitor Predator O...
Acer, le novità a Taipei fra smar...
Il prezzo di queste ottime cuffie gaming...
EOLO più Intrattenimento, la conn...
I controller wireless Xbox a prezzi da r...
Google Pixel 8 in offerta: ecco tutti gl...
Guardate i prezzi di questi iPad Air: si...
EPYC di 5a generazione: AMD svela Turin ...
Torna ECOVACS Deebot T20e OMNI da 6000Pa...
NVIDIA rilancia sull'IA: al Computex sve...
NVIDIA GeForce 4060 Ti (396€!), 4070 SUP...
Ripartono gli sconti sulle AirPods: 99€ ...
Instinct MI325X è il nuovo accele...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:56.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www2v