Torna indietro   Hardware Upgrade Forum > Software > Programmazione

La rivoluzione dei dati in tempo reale è in arrivo. Un assaggio a Confluent Current 2025
La rivoluzione dei dati in tempo reale è in arrivo. Un assaggio a Confluent Current 2025
Siamo andati a Londra per partecipare a Current 2025, la conferenza annuale di Confluent. Il tema al centro dell'evento era l'elaborazione dei dati in tempo reale resa possibile da Apache Kafka, una piattaforma open source pensata proprio per questo. Si è parlato di come stia cambiando la gestione dei dati in tempo reale, del perché sia importante e di quali siano le prospettive per il futuro
SAP Sapphire 2025: con Joule l'intelligenza artificiale guida app, dati e decisioni
SAP Sapphire 2025: con Joule l'intelligenza artificiale guida app, dati e decisioni
A Madrid SAP rilancia sulla visione di un ecosistema integrato dove app, dati e AI generano un circolo virtuoso capace di affrontare l’incertezza globale. Joule diventa l’interfaccia universale del business, anche oltre il perimetro SAP
Dalle radio a transistor ai Micro LED: il viaggio di Hisense da Qingdao al mondo intero
Dalle radio a transistor ai Micro LED: il viaggio di Hisense da Qingdao al mondo intero
Una delle realtà a maggiore crescita nel mondo dell'elettronica di consumo, Hisense Group, affonda le sue radici nella storica città portuale di Qingdao, famosa per la sua birra. Ed è proprio qui il centro nevralgico dell'espansione mondiale dell'azienda, che sta investendo massicciamente in infrastrutture e ricerca per consolidare ulteriormente la propria leadership tecnologica.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-01-2010, 08:35   #1
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
[C++] Qt - gestione stdin/stdout

Buon dì a tutti,
sto cercando un sistema per associare l'input e l'output standard ad un controllo del tipo dialog. Nel senso, vorrei che questa dialog si comporti come un terminale.

Scopo è realizzare un client che abbia una unica dialog per inviare dei dati ad un server e riceverli.

Utilizzando direttamente la shell non avevo problemi perchè mi bastava utilizzare i comandi di input e output standard, mentre ora con la gui mi trovo un attmo in difficoltà... spero di essere stato chiaro. Vi ringrazio.
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2010, 12:21   #2
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21579
Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
Buon dì a tutti,
sto cercando un sistema per associare l'input e l'output standard ad un controllo del tipo dialog. Nel senso, vorrei che questa dialog si comporti come un terminale.

Scopo è realizzare un client che abbia una unica dialog per inviare dei dati ad un server e riceverli.

Utilizzando direttamente la shell non avevo problemi perchè mi bastava utilizzare i comandi di input e output standard, mentre ora con la gui mi trovo un attmo in difficoltà... spero di essere stato chiaro. Vi ringrazio.
devi usare i segnali e gli slot per interagire non puoi usare direttamente gli stdin e stdout

praticamente ogni oggetto qt ha un insieme di "porte" atte a ricevere messaggi dall'esterno chiamate slot
ogni oggetto ha anche la possibilità di emettere dei segnali volti a interagire con gli altri oggetti.

quindi
devi definire gli slot e i segnali che ti servono
devi connettere i segnali con gli slot
devi interagire con gli oggetti passando attraverso i segnali
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2010, 12:49   #3
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
Quote:
Originariamente inviato da !fazz Guarda i messaggi
devi usare i segnali e gli slot per interagire non puoi usare direttamente gli stdin e stdout

praticamente ogni oggetto qt ha un insieme di "porte" atte a ricevere messaggi dall'esterno chiamate slot
ogni oggetto ha anche la possibilità di emettere dei segnali volti a interagire con gli altri oggetti.
questo ok.

Per gestire I/O multiplexing utilizzavo select() in Linux, non ho ancora guardato ma dovrei poterlo usare ancora, forse c'è anche una classe che lo fa...

siccome su questo "terminale" dovranno essere dati una serie di comandi...
come posso fare secondo te a fare in modo che alla pressione del tasto invio sia solo l'ultima riga ad essere inviata all'host remoto?
Perchè utilizzando in modo standard il controllo PlainText ad esempio, mi invierebbe tutto (anche i dati precedenti)...
è bene usare un buffer con un file descriptor? Però non saprei come... nel senso, l'utente dovrebbe anche poter vedere quello che scrive....
non mi sembra di aver visto esempi di questo tipo purtroppo... un esempio mi basterebbe per capire...
Grazie.
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2010, 13:16   #4
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21579
Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
questo ok.

Per gestire I/O multiplexing utilizzavo select() in Linux, non ho ancora guardato ma dovrei poterlo usare ancora, forse c'è anche una classe che lo fa...

siccome su questo "terminale" dovranno essere dati una serie di comandi...
come posso fare secondo te a fare in modo che alla pressione del tasto invio sia solo l'ultima riga ad essere inviata all'host remoto?
Perchè utilizzando in modo standard il controllo PlainText ad esempio, mi invierebbe tutto (anche i dati precedenti)...
è bene usare un buffer con un file descriptor? Però non saprei come... nel senso, l'utente dovrebbe anche poter vedere quello che scrive....
non mi sembra di aver visto esempi di questo tipo purtroppo... un esempio mi basterebbe per capire...
Grazie.
scusa

puoi scriverti i tuoi segnali e i tuoi slot quindi puoi decidere cosa inviare direttamente scrivendo la funzione
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2010, 14:14   #5
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
Quote:
Originariamente inviato da !fazz Guarda i messaggi
scusa
ma va perchè?

quello che mi verrebbe spontaneo fare è avere i due fd, uno associato al socket l'altro a questo punto associato ad un buffer....

il punto è... come posso far visualizzare allo stesso tempo ciò che viene scritto sulla dialog e inserirlo nel buffer..... è probabile anche che sia una cosa banale... ma non mi viene in mente come fare.... accipicchia
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2010, 14:19   #6
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21579
Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
ma va perchè?

quello che mi verrebbe spontaneo fare è avere i due fd, uno associato al socket l'altro a questo punto associato ad un buffer....

il punto è... come posso far visualizzare allo stesso tempo ciò che viene scritto sulla dialog e inserirlo nel buffer..... è probabile anche che sia una cosa banale... ma non mi viene in mente come fare.... accipicchia
io userei 2 widget separati uno sopra l'altro con una qlineedit per gestire l'ultima riga

oppure guarda un qtextedit

più specifico non so, non ho ben capito cosa devi fare
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


La rivoluzione dei dati in tempo reale è in arrivo. Un assaggio a Confluent Current 2025 La rivoluzione dei dati in tempo reale è ...
SAP Sapphire 2025: con Joule l'intelligenza artificiale guida app, dati e decisioni SAP Sapphire 2025: con Joule l'intelligenza arti...
Dalle radio a transistor ai Micro LED: il viaggio di Hisense da Qingdao al mondo intero Dalle radio a transistor ai Micro LED: il viaggi...
Meglio un MacBook o un PC portatile con Windows, oggi? Scenari, dubbi e qualche certezza Meglio un MacBook o un PC portatile con Windows,...
realme GT7: un "flaghsip killer" concreto! La recensione realme GT7: un "flaghsip killer" concr...
Una domenica bestiale Amazon: LG OLED, s...
DJI Mini 4 Pro Fly More Combo: drone leg...
realme GT 7T: display da 6000 nit, poten...
Ancora qualche pezzo per il portatile Le...
TV OLED LG Serie C4 2024: immagini da ci...
Smartwatch Amazfit in sconto: Active 2 a...
Router e ripetitori AVM FRITZ! da 30€ su...
Adulting 101: i corsi per imparare come ...
Blue Origin ha lanciato con successo la ...
L'amministrazione Trump ha ritirato la c...
La NASA potrebbe chiudere le missioni OS...
Trump vieta anche la vendita di software...
Le migliori offerte del weekend Amazon: ...
Dreame L40 Ultra a 699€, prezzo shock: v...
AMD Radeon RX 9060 XT: fino al 31% pi&ug...
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: 14:09.


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