[risolto] - text con evidenziazione dei secondi rimanenti
[risolto] - text con evidenziazione dei secondi rimanenti
In un vecchio programma in Python 2.7 viene visualizzato un testo con 'text'
in attesa di un posizionamento del cursore su certe righe.
Per fare questa scelta sono previsti 10 secondi, dopodichè esce.
Il numero di secondi è evidenziato sul video in una 'label'
Però ovviamente il tempo indicato è sempre 10.
Vorrei fare in maniera che la 'label' indichi il tempo rimanente , quindi cambiando
ogni secondo trascorso. (o ogni due)
Ritengo che sia molto complicato da fare, ma forse sbaglio
Qualcuno può suggerirmi una soluzione che non stravolga il programma originale
(che non si vuole assolutamente rifare), oppure indicarmi un esempio dal quale
avere indicazioni?
Non posso riportare il programma ma credo che sia inutile.
Il programma non usa le classi ed è abbastanza lineare.
grazie
in attesa di un posizionamento del cursore su certe righe.
Per fare questa scelta sono previsti 10 secondi, dopodichè esce.
Il numero di secondi è evidenziato sul video in una 'label'
Però ovviamente il tempo indicato è sempre 10.
Vorrei fare in maniera che la 'label' indichi il tempo rimanente , quindi cambiando
ogni secondo trascorso. (o ogni due)
Ritengo che sia molto complicato da fare, ma forse sbaglio
Qualcuno può suggerirmi una soluzione che non stravolga il programma originale
(che non si vuole assolutamente rifare), oppure indicarmi un esempio dal quale
avere indicazioni?
Non posso riportare il programma ma credo che sia inutile.
Il programma non usa le classi ed è abbastanza lineare.
grazie
Ultima modifica di maresama il giovedì 2 settembre 2021, 23:49, modificato 2 volte in totale.
- vaeVictis
- Imperturbabile Insigne
- Messaggi: 4703
- Iscrizione: venerdì 27 luglio 2012, 17:58
- Desktop: Gnome
- Distribuzione: Ubuntu 20.04 64bit
Re: text con evidenziazione dei secondi rimanenti
Riportare il programma non è inutile, altrimenti si cosa stiamo parlando? Non citi un modulo, non citi niente di cosa faccia in concreto il programma.
È tua responsabilità mettere chi ti aiuta in condizione di farlo. Pertanto, posta un esempio di codice per iniziare a lavorarci su
È tua responsabilità mettere chi ti aiuta in condizione di farlo. Pertanto, posta un esempio di codice per iniziare a lavorarci su
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Re: text con evidenziazione dei secondi rimanenti
Come detto non posso riportare il programma
Posso però farne uno con la parte minima che consiste in un widget fatto da una 'label' e da una 'text'
Ovviamente sembrerà una cosa senza senso ma per il problema andrà benissimo.
Domani spero di riuscire a farlo.
Posso però farne uno con la parte minima che consiste in un widget fatto da una 'label' e da una 'text'
Ovviamente sembrerà una cosa senza senso ma per il problema andrà benissimo.
Domani spero di riuscire a farlo.
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4433
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: text con evidenziazione dei secondi rimanenti
Cerca "conto alla rovescia in Python"
Per esempio, qua è spiegato riga per riga: https://it.yevgenykafelnikov.com/how-ma ... ram-python
Per il clear ho trovato:
Per esempio, qua è spiegato riga per riga: https://it.yevgenykafelnikov.com/how-ma ... ram-python
Per il clear ho trovato:
Codice: Seleziona tutto
import os
os.system('cls' if os.name == 'nt' else 'clear')
Salva l'Ucraina!
- nuzzopippo
- Entusiasta Emergente
- Messaggi: 1623
- Iscrizione: giovedì 12 ottobre 2006, 11:34
Re: text con evidenziazione dei secondi rimanenti
Di per se, la problematica "potrebbe" essere semplice, sapendo di cosa si sta parlando.
La "selezione" di righe farebbe pensare ad una GUI, è così? E se si, quale framework grafico utilizza (tkinter, wx, qt, etc.)?
[Edit] Ok, non sono stato attento, dal secondo post sembrerebbe una GUI tkinter, cercherò di farti un esempio appena mi riesce, ovviamente in python3 e con le classi (2.7 e programmazione funzionale non hanno senso allo stato)
Fatti non foste a viver come bruti ...
Re: text con evidenziazione dei secondi rimanenti
questo è il programma prova (una sintesi del programma che mi è stato dato da modificare)
Il problema, come detto, è far cambiare ogni 1 o 2 secondi, il tempo evidenziato
Codice: Seleziona tutto
def Prova(testo,tempo):
def Xtempo(xx): # tempo scaduto
root.destroy();
root = Tk()
frm0 = Frame(root); frm1 = Frame(root);
if tempo>0:
mess2=' tempo: '+str(tempo)+"' ! "
lb2= Label(frm0 ,text=mess2,justify="left",font=("Roman",9,"bold"),bg='#FCF578',bd=4,relief=RIDGE); lb2.pack(side=RIGHT,fill=Y )
xtxl='\n'.join(testo)
Tfix = Text(frm1); Tfix.config(bd=2,pady=2,padx=2)
Tfix=Text(frm1,bg='#C6F7EE')
Tfix.insert(INSERT,xtxl); Tfix.config(state=DISABLED)
Tfix.pack(); frm0.pack(); frm1.pack()
if tempo>0: PY['G']['tmp']=root.after(int(abs(tempo)*1000),lambda nn=1:Xtempo('T') )
root.mainloop()
return
testo=['aaaaaaaaa','bbbbbbbbbbbbbbbb','ccccccccc','dddddd','eeeeeeeee']
Prova(testo,10)
- nuzzopippo
- Entusiasta Emergente
- Messaggi: 1623
- Iscrizione: giovedì 12 ottobre 2006, 11:34
Re: text con evidenziazione dei secondi rimanenti
Prova così:
Codice: Seleziona tutto
from tkinter import *
def Prova(testo,tempo):
my_tmp = tempo
root = Tk()
frm0 = Frame(root); frm1 = Frame(root);
if tempo>0:
mess2=' tempo: '+str(tempo)+"' ! "
lb2= Label(frm0 ,text=mess2,justify="left",font=("Roman",9,"bold"),bg='#FCF578',bd=4,relief=RIDGE); lb2.pack(side=RIGHT,fill=Y )
xtxl='\n'.join(testo)
Tfix = Text(frm1); Tfix.config(bd=2,pady=2,padx=2)
Tfix=Text(frm1,bg='#C6F7EE')
Tfix.insert(INSERT,xtxl); Tfix.config(state=DISABLED)
Tfix.pack(); frm0.pack(); frm1.pack()
#if tempo>0: PY['G']['tmp']=root.after(int(abs(tempo)*1000),lambda nn=1:Xtempo('T') )
def Xtempo(): # tempo scaduto
nonlocal my_tmp
my_tmp -= 1
if my_tmp:
mess=' tempo: '+str(my_tmp)+"' ! "
lb2.configure(text=mess)
lb2.update()
root.after(1000,lambda nn=1:Xtempo())
else:
root.destroy();
if tempo>0:
#root.after(int(abs(tempo)*1000),lambda nn=1:Xtempo() )
Xtempo()
root.mainloop()
return
testo=['aaaaaaaaa','bbbbbbbbbbbbbbbb','ccccccccc','dddddd','eeeeeeeee']
Prova(testo,10)
Fatti non foste a viver come bruti ...
Re: text con evidenziazione dei secondi rimanenti
devo solo cambiare il blocco conteggio.
In effetti il programma prevedeva che passando con il mouse sulla videata il conteggio non abbia piu effetto
Serve all'utente per dargli la possibilità di leggere se ne ha necessità
Penso sia comunque semplice da fare.
Ciao
In effetti il programma prevedeva che passando con il mouse sulla videata il conteggio non abbia piu effetto
Serve all'utente per dargli la possibilità di leggere se ne ha necessità
Penso sia comunque semplice da fare.
Ciao
- Claudio_F
- Entusiasta Emergente
- Messaggi: 1463
- Iscrizione: lunedì 28 maggio 2012, 18:49
- Desktop: Mate/Gnome
- Distribuzione: Ubu22.04
Re: text con evidenziazione dei secondi rimanenti
Codice: Seleziona tutto
import Tkinter as tk
import time
def avvia():
puls1.configure(state=tk.DISABLED)
tempo = time.time()
count = 10
lab1.configure(text=count)
root.after(100, conteggia, count, tempo)
def conteggia(count, tempo):
if time.time()-tempo >= 1:
tempo += 1
count -= 1
lab1.configure(text=count)
if count > 0:
root.after(100, conteggia, count, tempo)
else:
puls1.configure(state=tk.NORMAL)
root = tk.Tk()
root.resizable(False, False)
puls1 = tk.Button(root, text="START", command=avvia)
puls1.pack(side=tk.LEFT)
lab1 = tk.Label(root, width=10, text="---")
lab1.pack(side=tk.LEFT)
root.mainloop()
Re: text con evidenziazione dei secondi rimanenti
grazie a nuzzopippo e Claudio_F (2 maghi!!) tutto risolto!
metto 'risolto'
metto 'risolto'
- trekfan1
- Moderatore Globale
- Messaggi: 23381
- Iscrizione: domenica 21 maggio 2006, 10:51
- Desktop: Gnome
- Distribuzione: Ubuntu 23.10 e 24.04 (dev)
- Sesso: Maschile
- Località: Formigine (MO) | Accecante Asceta
Re: risolto - text con evidenziazione dei secondi rimanenti
Il [Risolto] si mette tra parentesi quadre esattamente come lo ho scritto io, correggi, grazie
Regolamento del Forum Il forum di StarTrek in italia Gruppo Seti Script per il [Risolto] Rufus Multiboot Linux/Linux Seriale Win8/8.1/10 da Linux PPA amule 20.04
Da Regolamento è VIETATO chiedere supporto con i messaggi privati!!
Da Regolamento è VIETATO chiedere supporto con i messaggi privati!!
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 11 ospiti