Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Edge 50 Ultra: Motorola convince anche con il suo top di gamma! La recensione
Edge 50 Ultra: Motorola convince anche con il suo top di gamma! La recensione
Motorola sfida i top di gamma con funzionalità AI avanzate, design innovativo e prestazioni da vero flagship. Riuscirà a trovare spazio anche nel segmento premium di mercato? Tutti i dettagli, test e prezzo di questo nuovo smartphone.
FlexiSpot E7B-PRO: una scrivania motorizzata per migliorare la postura
FlexiSpot E7B-PRO: una scrivania motorizzata per migliorare la postura
Abbiamo ricevuto e provato la scrivania FlexiSpot E7B-PRO. Dotata di gambe motorizzate, è una scrivania di nuova generazione regolabile in altezza, perfetta sia per le attività professionali che per l'intrattenimento.
Citroën ë-C3, la prova in anteprima: l'elettrica con caratteristiche e prezzo per tutti
Citroën ë-C3, la prova in anteprima: l'elettrica con caratteristiche e prezzo per tutti
Abbiamo guidato per la prima volta la Citroën ë-C3, che tanti clienti hanno scelto praticamente a scatola chiusa sfruttando gli incentivi nazionali. Ma anche a prezzo pieno può essere molto interessante
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


Edge 50 Ultra: Motorola convince anche con il suo top di gamma! La recensione Edge 50 Ultra: Motorola convince anche con il su...
FlexiSpot E7B-PRO: una scrivania motorizzata per migliorare la postura FlexiSpot E7B-PRO: una scrivania motorizzata per...
Citroën ë-C3, la prova in anteprima: l'elettrica con caratteristiche e prezzo per tutti Citroën ë-C3, la prova in anteprima: l...
Intel Lunar Lake: le nuove CPU per i notebook del 2024 Intel Lunar Lake: le nuove CPU per i notebook de...
Intel Xeon 6 e Intel Gaudi 3 nel futuro dei datacenter Intel Xeon 6 e Intel Gaudi 3 nel futuro dei data...
Le novità software di QNAP al Com...
God of War Ragnarock: ecco una prima com...
Crescono vertiginosamente gli investimen...
Canon presenta l'obiettivo RF 35mm F1.4 ...
Enermax: tanti alimentatori, case e diss...
Fallout: la seconda stagione non ha una ...
Gli Europei di calcio arrivano in EA SPO...
Prezzo mai visto (799€) per Dreame L10s ...
Tamron 50-300mm F/4.5-6.3 Di III VC VXD:...
XPG NIA al COMPUTEX 2024: la console por...
SpaceX Starship: doppio ammaraggio duran...
Volete acquistare un monitor a 360 Hz se...
Mini PC a prezzo super su Amazon: si par...
ASUS ROG Zephyrus G16 in video direttame...
AI per l'accessibilità: i vincito...
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: 22:23.


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