Skip to content

Italian

A forum for those speaking Italian
457 Topics 1.9k Posts
  • [Split] Partita IVA per Ovi Store (by deimos)

    15
    0 Votes
    15 Posts
    5k Views
    U

    Ciao deimos,
    grazie dell'aiuto... ho scritto e mi hanno risposto che per account personali il campo VAT non e' da compilare. In effetti non c'era l'asterisco che indica i campi obbligatori.
    Sono io ad essere fulminato :)
    buona serata e grazie ancora
    Nicola

  • Kill QThreadPool

    3
    0 Votes
    3 Posts
    3k Views
    G

    Grazie per l'aiuto. Non ho ancora provato con QFuture perche' ho visto che c'e' scritto nel Help:
    "... Be aware that not all asynchronous computations can be canceled. For example, the future returned by QtConcurrent::run() cannot be canceled; but the future returned by QtConcurrent::mappedReduced() can...".

    Sembra che le elaborazioni lanciate con QtConcurrent non si puo' usare il metodo "QFuture::cancel()".
    Il codice e' il seguente:

    Con questo metodo lancio i vari "QtConcurrent::run":

    @void DBManagerObj::NewOptSlot(const NewOptDataDB &tNewOptData)
    {
    if(DBManagerThrStatus::RUN_STS == _tThrStatus.iStatus)
    {
    DBIntStatusFut *ptFut = new DBIntStatusFut(QtConcurrent::run(this,
    &DBManagerObj::NewOptExecThr,
    tNewOptData));
    poco_check_ptr(ptFut);

    _rgptResFuture.append(ptFut);
    }
    }
    @

    Questo e' il metodo che esegue le operazioni di scrittura su Database (da notare che non uso le funzionalita' dell Qt SQL, ma utilizzo in questo caso le POCO C++ library, perche' hanno la gestione integrata del "Session Pool" e poi perche' hanno altre Feature che ho gia' utilizzate in passato)

    @DBManagerObj::DBIntStatus DBManagerObj::NewOptExecThr(const NewOptDataDB &tNewOptData)
    {
    if(!_ptSessPool)
    {
    poco_warning(_tLog,
    "DBManagerObj: WARNING: no Session Pool!");

    return DBManagerObj::DBIntStatus(-1);
    }

    QElapsedTimer tTimer;

    tTimer.start();
    try
    {
    Poco::Data::Session tSess(_ptSessPool->get());

    tSess << "INSERT INTO TNewOptData (BTCTL, ID, BTC1m, Vel, DLTLDist, DLPos) "
    "VALUES(?,?,?,?,?,?)",
    Poco::Data::use(tNewOptData.i32BTCTL),
    Poco::Data::use(tNewOptData.i32ID),
    Poco::Data::use(tNewOptData.BTC1m),
    Poco::Data::use(tNewOptData.Vel),
    Poco::Data::use(tNewOptData.DLTLDist),
    Poco::Data::use(tNewOptData.DLPos),
    Poco::Data::now;
    }
    catch(Poco::Data::ODBC::ODBCException &tExc)
    {
    std::string strTemp = "DBManagerObj: Insert Data Failed!: ";

    strTemp += tExc.className();
    strTemp += " ";
    strTemp += tExc.displayText();
    poco_warning(_tLog,
    strTemp);
    }

    return DBManagerObj::DBIntStatus(1,
    tTimer.elapsed());
    }
    @

    Il problema secondo me e' che se nel secondo metodo, per qualche motivo l'elaborazione si dovesse prolungare, non ho modo di concludere l'operazione se l'utente chiede di arrestare il programma. Mettendo infatti una Sleep (tanto per simulare un "Long Run"), all'interno del secondo metodo, il programma resta piantato fintatnto che il QtConcurrent::run non finisce l'esecuzione.

    Saluti
    Giulio

  • Form

    5
    0 Votes
    5 Posts
    3k Views
    M

    Se libro è instanza di classe che eridita da QWidget tutto dovrebbe funzionare perchè il metodo show() mostra il widget, tuttavia se hai una widget mainwindow già mostrato devi usare il metodo addWidget(libro) per aggingere libro a mainwindow. Mentre se vuoi aprire un widget su mainwindow devi usare le dialog.

    Si se posti il codice forse ci si capisce meglio.

    Ciao.

  • 0 Votes
    3 Posts
    4k Views
    M

    Ciao a tutti, sfrutto questo post come presentazione.

    Uso Qt da circa 4 anni, prima ho compinciato con pyqt e poi con Qt/C++.
    Ho sviluppato avrdudequi (cerca su gittorius) dove ho usato per la prima volta il caricamento dinamico delle gui.

    Anche io sviluppo embedded con MCU atmel e mi necessità un IDE per GNU/Linux. Varie strade ho provato e l'ideale sarebbe proprio QtCreator.

    Sono riuscito ad usare QtCreator e Qmake per compilare codice con avr-gcc, il makefile genera staticlib o ihex file a seconda del template.

    Il fastprocessor di QtCreator è davvero rapido ma è pensato per il toolkit Qt, se si potesse snellire sarebbe anche più comprensibile così da risultare più agevolo metterci le mani.

    Tempo a dietro ho provato con sdcc e qtcreator con risultati negativi, ora non ricordo con precisione il perche del mancato funzionamento però ricordo che si deve creare un extracompiler target perchè quello di default va bene solo per gcc e ci sono argomenti passati a questo che non sono riconosciuti da sdcc.

    Di recente ho studiato il codice interne di QtCreator al fine di imparare dal questo codice con risultati poco redditizi, la difficoltà sta nella quantità di codice e indirezzioni usate per astrarre, allora sono partito con la versione 1.0 di qtcreator che è più snella e anche più comprensibile.

    Ora sono fermo su un elemento del menu build install project, mi serviva per installare le librerie statiche in sviluppo. Mi spiego, se sviluppo una lib per avr ti servirà poi provarla e quindi installarla in un percorso prestabilito ad esempio la dir .avr in home utente. Nel caso di progetto o sub progetto con template app non deve eseguire il make install.

    Da shell il make install funziona solo nel caso delle lib e la variabile INSTALL viene popolata in automatico se il template è lib.

    alexbottoni in parte a già risposto, io aggiungo che per fare un lavoro ben fatto si deve creare un plugin a partire da QtProjectPlugin presente nel tree. In merito al parser c'è da dire che l'editor per cpp usa il fastprocessor e sintaxhighlighter e c'è anche macro epsansione ed è dura mettere le mani con cognizione di causa, però a me l'editor cpp funziona senza problemi anche con codice non qt, sono anche riuscito ad abilitare l'help online sulle funzioni della avrlibc, ma alle volte premendo F1 dice di non trovare alcuna documentazione mentre altre volte lavora.

    Ok, scusate il lungo post.

    Se non sono qui, potete beccarmi su Arduino forum, o su http://www.electroit.tk/index.php

    Ciao.

  • Classe ritorna sempre vero

    3
    0 Votes
    3 Posts
    2k Views
    R

    Ok, grazie a tutti, problema risolto!!!

  • 0 Votes
    9 Posts
    5k Views
    F

    So che sono stati fatti dei video in continuazione, durante ogni talk, anche se non so le modalità della messa on-line del materiale. Anche le slide e gli esempi dovrebbe essere messi on-line....

  • 0 Votes
    1 Posts
    2k Views
    No one has replied
  • Una modernizzata al sito??

    2
    0 Votes
    2 Posts
    2k Views
    D

    La faccenda del "solved" è vera ed è stata sollevata molto tempo addietro :) La soluzione sta venendo sviluppata e non è un semplice pulsante ma una nuova tipologia di forum -- QnA, tipo stackoverflow. http://developer.qt.nokia.com/forums/viewforum/46/

  • [Qt Creator] Snippets

    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • Guida Online Italiana - Esiste? Dove?

    4
    0 Votes
    4 Posts
    3k Views
    S

    Qualcosa c'è guarda "qua":http://developer.qt.nokia.com/search/tag/language:it

  • Principiante delle qt [risolto]

    13
    0 Votes
    13 Posts
    7k Views
    M

    Mi mancava questo aspetto.non consideravo il private.grazie mille!posso dire di aver risolto

  • [OT] PostgreSQL Day

    4
    0 Votes
    4 Posts
    3k Views
    F

    E' disponibile il programma ufficiale del PGDay 2011: http://2011.pgday.it/programma-talks

  • QML- spero non off topic

    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • Problema QMYSQL

    3
    0 Votes
    3 Posts
    3k Views
    D

    Basta seguire le istruzioni per il deployment: [[doc:deployment]], [[doc:deployment-mac]], [[doc:deployment-plugins]] (in soldoni devi portarti il plugin dentro sqldrivers/). macdeployqt dovrebbe fare tutto lui.

    Per quanto riguarda compilare il plugin MYSQL: apri un nuovo thread.

  • Qt: uno sguardo al futuro...

    16
    0 Votes
    16 Posts
    7k Views
    F

    Opensolaris, per citarne uno.

  • Progetto universitario

    9
    0 Votes
    9 Posts
    4k Views
    AlicemirrorA

    Per favore, non usate nei thread titoli come questo. Non danno alcuna indicazione del contenuto né degli argomenti di cui trattano.
    In secondo luogo,

    [quote author="fefelix" date="1308037496"]vds. "risposta":http://developer.qt.nokia.com/forums/viewthread/6100/[/quote]

    prima di aprire nuovi thread magari fate una ricerca agganciandovi a thread giá esistenti che trattano lo stesso problema (o ancora meglio l'hanno giá risolto).

  • [Split] [Solved] [Closed] Indice della tab

    Locked
    3
    0 Votes
    3 Posts
    2k Views
    D

    Duplicato di http://developer.qt.nokia.com/forums/viewthread/9569/

  • Nuova applicazione per Harmattan

    2
    0 Votes
    2 Posts
    2k Views
    AlicemirrorA

    Ciao, ho spostato la seconda domanda su un nuovo post. Bisgonerebbe evitare ti accorpare nello stesso thread due cose che non hanno alcuna attinenza fra di loro e la questione P.I. mi sembra un argomento interessante che qui oltretutto non verrebbe letto.

    Una nota: se non l'hai ancora fatto dovresti mettere la versione inglese dell'annuncio anche nel forum Announcements cosí che lo possano vedere tutti gli utenti e non solo quelli italiani. Se invece l'hai fatto sarebbe una buona cosa mettere in ognuno dei due post il link a quello corrispondente. Grazie.

  • 0 Votes
    5 Posts
    3k Views
    A

    Se siete interessati: http://comunicando.storiainformatica.it

    sulla destra è possibile visionare il pdf ed al centro, cliccando sulle voci, è possibile visionare i vari interventi e gli argomenti.
    Se siete intenzionati a partecipare non come "pubblico" avvisatemi e vi metto in contatto con il responsabile dell'organizzazione.

    Ci vediamo là :-)

  • Problema con DB

    4
    0 Votes
    4 Posts
    3k Views
    A

    per fare una cosa del genere, dovresti aggiungere un campo che rappresenta il padre diretto del record.
    Fatto questo puoi interagire in modo ricorsivo e al suo interno usi SQL con ricerca in LIKE lato destro (che è la parte che cresce) usando il campo padre diretto:

    NomeNodo | Padre
    A | NULL //root
    B | A| // B è figlio di A
    C | A|B| // C è figlio di B che è figlio di A
    D | A|B|C| // D è figlio di C che è figlio di B che è figlio di A

    Nel tuo caso è più importante la strutturazione iniziale dei record: il lavoro successivo è al quanto semplice.

    un esenpio di SQL sarà:
    //
    // chi sono i figli di...:
    function buildtree(padre) {
    var padre = padre + "|_"; // padre in ricorsione sarà A| -> A|B| e così via...

    SELECT NomeNodo FROM TreeViewTable WHERE Padre LIKE padre;
    }

    Ad esempio se il parametro della funzione è uguale a "A|B|"
    la SQL sarà: SELECT NomeNodo FROM TreeViewTable WHERE Padre LIKE 'A|B|_'
    che signfica prendi tutti quelli che hanno padre che inizia con "A|B|" e un qualsiasi carattere (nell'esempio solo A|B|C|)
    Più o meno è questo quello che dovresti fare e che io feci una decina di anni fa quindi scusami ma non ricordo tutto :-)