Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Qthread scambio segnali attraverso mainwindows
Forum Updated to NodeBB v4.3 + New Features

Qthread scambio segnali attraverso mainwindows

Scheduled Pinned Locked Moved Solved Italian
1 Posts 1 Posters 442 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • gfxxG Offline
    gfxxG Offline
    gfxx
    wrote on last edited by gfxx
    #1

    Una questione non risolta:

    ho due Qthread che vengono messi in start uno all'avvio del mainwindows e l'altro da una funzione chiamata da mainwindows .... dovrebbero scambiare segnali tra loro. Fino ad ora ho sempre usato il sistema "connect-signal-slot" e viceversa una volta dal qthread1 ad una funzione appoggio del mainwindows e poi da quella al qthread2 ..... se tento di scambiare segnali diretti tra qthread1 e qthread2 qtcreator m ritorna il messaggio di errore per slot non esistente es: connect(qthread1, SIGNAL(xxx), qthread2, SLOT(XXX)), Qt:queueconnection); mi ritorna qthread2::SLOT(XXX) non eistente ..... perchè i due qthread esistono nel mainwindows e non in altri ambienti io credo ..... se invece uso il solito sistema es: connect((qthread1, SIGNAL(xxx), this, SLOT(consegnale-xxxx)), Qt::queueconnection); ... e poi in altro punto del main ... connect((this, SLOT(consegnale-xxxx), qthread2, SLOT(riceve-segnale-xxxx)), Qt::queueconnection); .... tutto funziona perfettamente.

    chiedo se è possibile una connessione diretta tenendo presente che i due qthread devono per forza partire in momenti diversi e non collegati tra loro.

    - SOLUZIONE -***********

    la soluzione è già pronta è possibile usare il sistema CONNECT SIGNAL SLOT con qualsiasi tipo di Qthread sia per via diretta che indiretta come facevo io. L'errore che ottenevo dipendeva dal fatto che la funzione segnale era dichiarata malamente nel file .h, ovvero descrivendo le 9 variabili tra una e l'altra ho inserito per errore degli spazi che poi non ho messo anche quando la richiamata con CONNECT .... così correttamente la compilazione mi diceva che non eisteva.

    Per altro ho "scoperto" l'errore solo perchè ad altro utente era successo ... quindi ho controllato.

    bkt

    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved