Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Editare celle QTableView
Qt 6.12 LTS is out! See what's new in the release blog

Editare celle QTableView

Scheduled Pinned Locked Moved Solved Italian
3 Posts 2 Posters 1.4k 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.
  • B Offline
    B Offline
    Bruschetta
    wrote on last edited by
    #1

    Salve a tutti.
    Sto cercando di modificare le belle di una mia TableView , la quale viene correttamente popolata, ma senza successo.

    La funzione che invoco è la seguente:

    void p::on_pushButton_listaP_clicked()
    {
    
        Conn conn;
        QSqlQueryModel *modal = new QSqlQueryModel();
        conn.connectionOpen();
        QSqlQuery *qry = new QSqlQuery(conn.mydb);
        qry->prepare("SELECT * FROM p");
        qry->exec();
        modal->setQuery(*qry);
        ui->tableView->setModel(modal);
        conn.connectionClose();
    }
    

    Però nonostante venga popolata la tabella i campi non sono editabili. Premetto che la tabella è fatta con il designer ma la spunta su "NoEditTriggers" non c'è...

    Qualcuno sa darmi un hint su dove sbalgio? Grazie :)

    1 Reply Last reply
    0
    • VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #2

      Prima riga della documentazione di QSqlQueryModel:

      The QSqlQueryModel class provides a read-only data model for SQL result sets.

      QSqlQueryModel non e' modificabile.

      Visto che usi SELECT * potresti usare QSqlTableModel che e' editabile e le tue modifiche possono essere passate al database direttamente

      QSqlTableModel *model = new QSqlTableModel(this,conn.mydb);
      model->setTable("p");
      model->select();
      

      P.S.
      Se usi new o ti ricordi di usare delete o (se e' un QObject passagli un parent)

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      0
      • B Offline
        B Offline
        Bruschetta
        wrote on last edited by
        #3

        Grazie mille, mi hai chierito tutto ed ho risolto il problema!

        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
        • Unsolved