Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. QComboBox dopo selezione, non visualizza più il campo modificato nel modello MySQL

QComboBox dopo selezione, non visualizza più il campo modificato nel modello MySQL

Scheduled Pinned Locked Moved Unsolved Italian
10 Posts 2 Posters 891 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
    Badela
    wrote on last edited by
    #1

    Salve a tutti,
    ho un modello (QSqlRelationalTabelModel) visualizzato in QTableView. Una colonna di tale modello è in relazione con un'altra tabella e visualizzata tramite addMapping anche nella QComboBox.
    forum_1.jpeg

    Ad ogni cambio di selezione in QTableView la combo risponde correttamente. Quando apro la tendina della combo e modifico l'impostazione del campo,
    forum_2.jpeg
    tale modifica viene visualizzata nella QTableView
    forum_3.jpeg
    ma da questo momento i poi, ogni volta che seleziono la riga in cui è avvenuta la modifica, la combo non visualizza più il dato corretto.
    forum_5.jpeg
    Tutte le altre righe in cui non sono avvenute modifiche funzionano correttamente.
    forum_4.jpeg
    Il codice per la modifica del campo è il seguente:

    void Miscele::on_cBxCellaPrel_currentIndexChanged(int index)
    {
        QSqlRecord record=modVistaPrel->record(index);  //vista a cui la combo è relazionata
        QSqlField field=record.field(record.indexOf("id_silos"));
        QModelIndex indkey;
        indkey=modFormule->index(mapFormule->currentIndex(),indRelSilPrel,QModelIndex());  //modello visualizzato nella tableview
        modFormule->setData(indkey,field.value().toInt(),Qt::EditRole);
    }
    

    Se salvo il dato direttamente nel database, il problema si risolve, ma lo eviterei per lasciare la possibilità di annullare le modifiche apportate.
    Esiste una soluzione a questo problema?

    Giovanni

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

      Mancano un po' di pezzi, non ho idea di cosa siano le variabili:

      • modVistaPrel (posso intuire essere il QSqlRelationalTabelModel)
      • modFormule
      • mapFormule
      • indRelSilPrel

      Se salvo il dato direttamente nel database, il problema si risolve, ma lo eviterei per lasciare la possibilità di annullare le modifiche apportate.

      Quindi ivece di prendere il dato dal DB (field.value(), prendilo dal modello chamando data()

      "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
        Badela
        wrote on last edited by
        #3

        Ti specifico meglio:

        modFormule = new QSqlRelationalTableModel(this);   modello della tabella formule
        mapFormule = new QDataWidgetMapper(this);          mapper della tabella formule
        modVistaPrel = new QSqlTableModel(this);           modello della vista dove prendo i nomi da visualizzare nella combo
        

        questa la relazione fra il modello formule e la vista

        indRelSilPrel=modFormule->fieldIndex("id_silos_mix");
        modFormule->setRelation(indRelSilPrel,QSqlRelation("miscele_silo_prel","id_silos","nome"));
        QSqlTableModel *relModelPrel=modFormule->relationModel(indRelSilPrel);
        relModelPrel->setFilter("id_silos<>0");
        ui->cBxCellaPrel->setModel(relModelPrel);
        ui->cBxCellaPrel->setModelColumn(relModelPrel->fieldIndex("nome"));
        

        Quindi ivece di prendere il dato dal DB (field.value(), prendilo dal modello chamando data()

        Scusa, ma non ho capito cosa mi hai suggerito.

        Giovanni

        VRoninV 1 Reply Last reply
        0
        • B Badela

          Ti specifico meglio:

          modFormule = new QSqlRelationalTableModel(this);   modello della tabella formule
          mapFormule = new QDataWidgetMapper(this);          mapper della tabella formule
          modVistaPrel = new QSqlTableModel(this);           modello della vista dove prendo i nomi da visualizzare nella combo
          

          questa la relazione fra il modello formule e la vista

          indRelSilPrel=modFormule->fieldIndex("id_silos_mix");
          modFormule->setRelation(indRelSilPrel,QSqlRelation("miscele_silo_prel","id_silos","nome"));
          QSqlTableModel *relModelPrel=modFormule->relationModel(indRelSilPrel);
          relModelPrel->setFilter("id_silos<>0");
          ui->cBxCellaPrel->setModel(relModelPrel);
          ui->cBxCellaPrel->setModelColumn(relModelPrel->fieldIndex("nome"));
          

          Quindi ivece di prendere il dato dal DB (field.value(), prendilo dal modello chamando data()

          Scusa, ma non ho capito cosa mi hai suggerito.

          Giovanni

          VRoninV Offline
          VRoninV Offline
          VRonin
          wrote on last edited by
          #4

          @Badela said in QComboBox dopo selezione, non visualizza più il campo modificato nel modello MySQL:

          mapFormule = new QDataWidgetMapper(this); mapper della tabella formule

          Ok, capito.
          Puoi mostrare il pezzo di codice in cui chiami mapFormule->setCurrentIndex?

          "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
            Badela
            wrote on last edited by
            #5

            @VRonin said in QComboBox dopo selezione, non visualizza più il campo modificato nel modello MySQL:

            Puoi mostrare il pezzo di codice in cui chiami mapFormule->setCurrentIndex?

            qui imposto che il segnale emesso dalla QTableView delle formule (dove al click di una cella corrisponde la selezione della riga) aggancia lo SLOT che gestisce il cambio di riga:

            connect(TbVwFormula->selectionModel(),SIGNAL(currentRowChanged(QModelIndex,QModelIndex)),this, SLOT(changeSelectionFormule(QModelIndex)));
            

            e questo è lo SLOT:

            void Miscele::changeSelectionFormule(const QModelIndex &index)
            {
                qDebug()<<"change table in";
                changeSelectionF=true;
                selezioneFormula=true;
                mapFormule->setCurrentModelIndex(index);
                changeSelectionF=false;
                qDebug()<<"change table out";
             }
            

            Giovanni

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

              hmmm, cosa ritorna qDebug() << index.data();?

              "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

              B 1 Reply Last reply
              0
              • VRoninV VRonin

                hmmm, cosa ritorna qDebug() << index.data();?

                B Offline
                B Offline
                Badela
                wrote on last edited by
                #7

                @VRonin said in QComboBox dopo selezione, non visualizza più il campo modificato nel modello MySQL:

                hmmm, cosa ritorna qDebug() << index.data();?

                Ritorna il valore corretto come effettivamente è presente nella tabella dopo la modifica tramite la combo.

                Se può esserti utile, ti giro tutto il codice della classe...

                Giovanni

                VRoninV 1 Reply Last reply
                0
                • B Badela

                  @VRonin said in QComboBox dopo selezione, non visualizza più il campo modificato nel modello MySQL:

                  hmmm, cosa ritorna qDebug() << index.data();?

                  Ritorna il valore corretto come effettivamente è presente nella tabella dopo la modifica tramite la combo.

                  Se può esserti utile, ti giro tutto il codice della classe...

                  Giovanni

                  VRoninV Offline
                  VRoninV Offline
                  VRonin
                  wrote on last edited by
                  #8

                  @Badela said in QComboBox dopo selezione, non visualizza più il campo modificato nel modello MySQL:

                  Ritorna il valore corretto come effettivamente è presente nella tabella dopo la modifica tramite la combo.

                  Come mi aspettavo quindi non capisco dove possa andare a male.
                  Se puoi postare l'intero codice magari aiuta

                  "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

                  B 2 Replies Last reply
                  0
                  • VRoninV VRonin

                    @Badela said in QComboBox dopo selezione, non visualizza più il campo modificato nel modello MySQL:

                    Ritorna il valore corretto come effettivamente è presente nella tabella dopo la modifica tramite la combo.

                    Come mi aspettavo quindi non capisco dove possa andare a male.
                    Se puoi postare l'intero codice magari aiuta

                    B Offline
                    B Offline
                    Badela
                    wrote on last edited by
                    #9

                    @VRonin

                    Se devi farlo girare ti serve pure il database... Questa è il compattato della cartella del programma, la classe in questione è "miscele"
                    [link text]https://drive.google.com/file/d/14niLOkqtFYoEtmQ1BXAqBN9J7XYl4DIx/view?usp=sharing

                    Giovanni

                    1 Reply Last reply
                    0
                    • VRoninV VRonin

                      @Badela said in QComboBox dopo selezione, non visualizza più il campo modificato nel modello MySQL:

                      Ritorna il valore corretto come effettivamente è presente nella tabella dopo la modifica tramite la combo.

                      Come mi aspettavo quindi non capisco dove possa andare a male.
                      Se puoi postare l'intero codice magari aiuta

                      B Offline
                      B Offline
                      Badela
                      wrote on last edited by
                      #10

                      @VRonin
                      Ho provato l'esempio della libreria sqlwidgetmapper ed ho constatato che avviene la stessa cosa. Per semplicità ti allego i sorgenti ai quali ho aggiunto qualche campo in più per rendere più evidente il problema:

                      sqlwidgettmapper.pro

                      HEADERS   = window.h
                      SOURCES   = main.cpp \
                                  window.cpp
                      QT += sql widgets
                      
                      # install
                      target.path = $$[QT_INSTALL_EXAMPLES]/sql/sqlwidgetmapper
                      INSTALLS += target
                      
                      

                      window.h

                      /****************************************************************************
                      **
                      ** Copyright (C) 2016 The Qt Company Ltd.
                      ** Contact: https://www.qt.io/licensing/
                      **
                      ** This file is part of the examples of the Qt Toolkit.
                      **
                      ** $QT_BEGIN_LICENSE:BSD$
                      ** Commercial License Usage
                      ** Licensees holding valid commercial Qt licenses may use this file in
                      ** accordance with the commercial license agreement provided with the
                      ** Software or, alternatively, in accordance with the terms contained in
                      ** a written agreement between you and The Qt Company. For licensing terms
                      ** and conditions see https://www.qt.io/terms-conditions. For further
                      ** information use the contact form at https://www.qt.io/contact-us.
                      **
                      ** BSD License Usage
                      ** Alternatively, you may use this file under the terms of the BSD license
                      ** as follows:
                      **
                      ** "Redistribution and use in source and binary forms, with or without
                      ** modification, are permitted provided that the following conditions are
                      ** met:
                      **   * Redistributions of source code must retain the above copyright
                      **     notice, this list of conditions and the following disclaimer.
                      **   * Redistributions in binary form must reproduce the above copyright
                      **     notice, this list of conditions and the following disclaimer in
                      **     the documentation and/or other materials provided with the
                      **     distribution.
                      **   * Neither the name of The Qt Company Ltd nor the names of its
                      **     contributors may be used to endorse or promote products derived
                      **     from this software without specific prior written permission.
                      **
                      **
                      ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
                      ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
                      ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
                      ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
                      ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
                      ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
                      ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                      ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                      ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                      ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
                      ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
                      **
                      ** $QT_END_LICENSE$
                      **
                      ****************************************************************************/
                      
                      #ifndef WINDOW_H
                      #define WINDOW_H
                      
                      #include <QWidget>
                      
                      QT_BEGIN_NAMESPACE
                      class QComboBox;
                      class QDataWidgetMapper;
                      class QItemSelectionModel;
                      class QLabel;
                      class QLineEdit;
                      class QPushButton;
                      class QSqlRelationalTableModel;
                      class QStandardItemModel;
                      class QStringListModel;
                      class QTextEdit;
                      QT_END_NAMESPACE
                      
                      //! [Window definition]
                      class Window : public QWidget
                      {
                          Q_OBJECT
                      
                      public:
                          Window(QWidget *parent = nullptr);
                      
                      private slots:
                          void updateButtons(int row);
                          void saveBtn(void);  //^^^
                      
                      private:
                          void setupModel();
                      
                          QLabel *nameLabel;
                          QLabel *addressLabel;
                          QLabel *typeLabel;
                          QLineEdit *nameEdit;
                          QTextEdit *addressEdit;
                          QComboBox *typeComboBox;
                          QPushButton *nextButton;
                          QPushButton *previousButton;
                          QPushButton *saveButton;  //^^^
                      
                          QSqlRelationalTableModel *model;
                          QItemSelectionModel *selectionModel;
                          QDataWidgetMapper *mapper;
                          int typeIndex;
                      };
                      //! [Window definition]
                      
                      #endif
                      
                      

                      window.cpp

                      /****************************************************************************
                      **
                      ** Copyright (C) 2016 The Qt Company Ltd.
                      ** Contact: https://www.qt.io/licensing/
                      **
                      ** This file is part of the examples of the Qt Toolkit.
                      **
                      ** $QT_BEGIN_LICENSE:BSD$
                      ** Commercial License Usage
                      ** Licensees holding valid commercial Qt licenses may use this file in
                      ** accordance with the commercial license agreement provided with the
                      ** Software or, alternatively, in accordance with the terms contained in
                      ** a written agreement between you and The Qt Company. For licensing terms
                      ** and conditions see https://www.qt.io/terms-conditions. For further
                      ** information use the contact form at https://www.qt.io/contact-us.
                      **
                      ** BSD License Usage
                      ** Alternatively, you may use this file under the terms of the BSD license
                      ** as follows:
                      **
                      ** "Redistribution and use in source and binary forms, with or without
                      ** modification, are permitted provided that the following conditions are
                      ** met:
                      **   * Redistributions of source code must retain the above copyright
                      **     notice, this list of conditions and the following disclaimer.
                      **   * Redistributions in binary form must reproduce the above copyright
                      **     notice, this list of conditions and the following disclaimer in
                      **     the documentation and/or other materials provided with the
                      **     distribution.
                      **   * Neither the name of The Qt Company Ltd nor the names of its
                      **     contributors may be used to endorse or promote products derived
                      **     from this software without specific prior written permission.
                      **
                      **
                      ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
                      ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
                      ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
                      ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
                      ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
                      ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
                      ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                      ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                      ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                      ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
                      ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
                      **
                      ** $QT_END_LICENSE$
                      **
                      ****************************************************************************/
                      
                      //Cerca ^^^ per eliminare le mie modifiche
                      
                      
                      #include <QtWidgets>
                      #include <QtSql>
                      
                      #include "window.h"
                      
                      //! [Set up widgets]
                      Window::Window(QWidget *parent)
                          : QWidget(parent)
                      {
                          setupModel();
                      
                          nameLabel = new QLabel(tr("Na&me:"));
                          nameEdit = new QLineEdit();
                          addressLabel = new QLabel(tr("&Address:"));
                          addressEdit = new QTextEdit();
                          typeLabel = new QLabel(tr("&Type:"));
                          typeComboBox = new QComboBox();
                          nextButton = new QPushButton(tr("&Next"));
                          previousButton = new QPushButton(tr("&Previous"));
                          saveButton = new QPushButton(tr("Salva")); //^^^
                      
                          nameLabel->setBuddy(nameEdit);
                          addressLabel->setBuddy(addressEdit);
                          typeLabel->setBuddy(typeComboBox);
                      //! [Set up widgets]
                      
                      //! [Set up the mapper]
                          QSqlTableModel *relModel = model->relationModel(typeIndex);
                          typeComboBox->setModel(relModel);
                          typeComboBox->setModelColumn(relModel->fieldIndex("description"));
                      
                          mapper = new QDataWidgetMapper(this);
                          mapper->setModel(model);
                          mapper->setItemDelegate(new QSqlRelationalDelegate(this));
                          mapper->addMapping(nameEdit, model->fieldIndex("name"));
                          mapper->addMapping(addressEdit, model->fieldIndex("address"));
                          mapper->addMapping(typeComboBox, typeIndex);
                      //! [Set up the mapper]
                      
                      //! [Set up connections and layouts]
                          connect(previousButton, &QPushButton::clicked,
                                  mapper, &QDataWidgetMapper::toPrevious);
                          connect(nextButton, &QPushButton::clicked,
                                  mapper, &QDataWidgetMapper::toNext);
                          connect(mapper, &QDataWidgetMapper::currentIndexChanged,
                                  this, &Window::updateButtons);
                          connect(saveButton, &QPushButton::clicked,
                                  this, &Window::saveBtn);  //^^^
                      
                          QGridLayout *layout = new QGridLayout();
                          layout->addWidget(nameLabel, 0, 0, 1, 1);
                          layout->addWidget(nameEdit, 0, 1, 1, 1);
                          layout->addWidget(previousButton, 0, 2, 1, 1);
                          layout->addWidget(addressLabel, 1, 0, 1, 1);
                          layout->addWidget(addressEdit, 1, 1, 2, 1);
                          layout->addWidget(nextButton, 1, 2, 1, 1);
                          layout->addWidget(typeLabel, 3, 0, 1, 1);
                          layout->addWidget(typeComboBox, 3, 1, 1, 1);
                          layout->addWidget(saveButton, 2, 2, 1, 1);  //^^^
                          setLayout(layout);
                      
                          setWindowTitle(tr("SQL Widget Mapper"));
                          mapper->toFirst();
                      }
                      //! [Set up connections and layouts]
                      
                      //! [Set up the main table]
                      void Window::setupModel()
                      {
                          QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
                          db.setDatabaseName(":memory:");
                          if (!db.open()) {
                              QMessageBox::critical(0, tr("Cannot open database"),
                                  tr("Unable to establish a database connection.\n"
                                     "This example needs SQLite support. Please read "
                                     "the Qt SQL driver documentation for information how "
                                     "to build it."), QMessageBox::Cancel);
                              return;
                          }
                      
                          QSqlQuery query;
                          query.exec("create table person (id int primary key, "
                                     "name varchar(20), address varchar(200), typeid int)");
                          query.exec("insert into person values(1, 'Alice', "
                                     "'<qt>123 Main Street<br/>Market Town</qt>', 101)");
                          query.exec("insert into person values(2, 'Bob', "
                                     "'<qt>PO Box 32<br/>Mail Handling Service"
                                     "<br/>Service City</qt>', 102)");
                          query.exec("insert into person values(3, 'Carol', "
                                     "'<qt>The Lighthouse<br/>Remote Island</qt>', 103)");
                          query.exec("insert into person values(4, 'Donald', "
                                     "'<qt>47338 Park Avenue<br/>Big City</qt>', 101)");
                          query.exec("insert into person values(5, 'Emma', "
                                     "'<qt>Research Station<br/>Base Camp<br/>"
                                     "Big Mountain</qt>', 103)");
                      //! [Set up the main table]
                      
                      //! [Set up the address type table]
                          query.exec("create table addresstype (id int, description varchar(20))");
                          query.exec("insert into addresstype values(101, 'Home')");
                          query.exec("insert into addresstype values(102, 'Work')");
                          query.exec("insert into addresstype values(103, 'Other')");
                      
                      //CAMPI AGGIUNTI -------------------------------------------
                          query.exec("insert into addresstype values(104, 'Casa')");
                          query.exec("insert into addresstype values(105, 'Lavoro')");
                          query.exec("insert into addresstype values(106, 'Altro')");
                      //---------------------------------------------------------
                      
                          model = new QSqlRelationalTableModel(this);
                          model->setTable("person");
                          model->setEditStrategy(QSqlTableModel::OnManualSubmit);
                      
                          typeIndex = model->fieldIndex("typeid");
                      
                          model->setRelation(typeIndex,
                                 QSqlRelation("addresstype", "id", "description"));
                          model->select();
                      }
                      //! [Set up the address type table]
                      
                      //! [Slot for updating the buttons]
                      void Window::updateButtons(int row)
                      {
                          previousButton->setEnabled(row > 0);
                          nextButton->setEnabled(row < model->rowCount() - 1);
                      }
                      //! [Slot for updating the buttons]
                      
                      //^^^
                      void Window::saveBtn(void)
                      {
                          model->submitAll();
                      }
                      //^^^
                      
                      

                      main.cpp

                      /****************************************************************************
                      **
                      ** Copyright (C) 2016 The Qt Company Ltd.
                      ** Contact: https://www.qt.io/licensing/
                      **
                      ** This file is part of the examples of the Qt Toolkit.
                      **
                      ** $QT_BEGIN_LICENSE:BSD$
                      ** Commercial License Usage
                      ** Licensees holding valid commercial Qt licenses may use this file in
                      ** accordance with the commercial license agreement provided with the
                      ** Software or, alternatively, in accordance with the terms contained in
                      ** a written agreement between you and The Qt Company. For licensing terms
                      ** and conditions see https://www.qt.io/terms-conditions. For further
                      ** information use the contact form at https://www.qt.io/contact-us.
                      **
                      ** BSD License Usage
                      ** Alternatively, you may use this file under the terms of the BSD license
                      ** as follows:
                      **
                      ** "Redistribution and use in source and binary forms, with or without
                      ** modification, are permitted provided that the following conditions are
                      ** met:
                      **   * Redistributions of source code must retain the above copyright
                      **     notice, this list of conditions and the following disclaimer.
                      **   * Redistributions in binary form must reproduce the above copyright
                      **     notice, this list of conditions and the following disclaimer in
                      **     the documentation and/or other materials provided with the
                      **     distribution.
                      **   * Neither the name of The Qt Company Ltd nor the names of its
                      **     contributors may be used to endorse or promote products derived
                      **     from this software without specific prior written permission.
                      **
                      **
                      ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
                      ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
                      ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
                      ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
                      ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
                      ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
                      ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                      ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                      ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                      ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
                      ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
                      **
                      ** $QT_END_LICENSE$
                      **
                      ****************************************************************************/
                      
                      #include <QApplication>
                      
                      #include "window.h"
                      
                      int main(int argc, char **argv)
                      {
                          QApplication app(argc, argv);
                          Window window;
                          window.show();
                          return app.exec();
                      }
                      
                      

                      Questo è quanto accade:
                      sqlwdmp_1.jpeg

                      Modifico il type da inglese ad italiano:
                      sqlwdmp_2.jpeg
                      sqlwdmp_3.jpeg
                      Ora premo NEXT per passare al nome successivo:
                      sqlwdmp_4.jpeg
                      e poi torno indietro con PREVIUS:
                      sqlwdmp_5.jpeg
                      e la combo NON viene aggiornata al tipo che avevo scelto, ma mantiene quello dell'ultimo nome visualizzato fino a che non salvo nel database con SALVA.

                      Ciao
                      Giovanni

                      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