Skip to content

Italian

A forum for those speaking Italian
464 Topics 1.9k Posts
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    9 Views
    No one has replied
  • "QtQuick.Studio.Application" is not installed

    Unsolved
    1
    0 Votes
    1 Posts
    817 Views
    No one has replied
  • Problema di installazione QT opensource

    Unsolved
    2
    0 Votes
    2 Posts
    857 Views
    niqtN
    Non si legge nulla
  • Traduzione dei menu contestuali e dei bottoni standard

    Unsolved
    1
    0 Votes
    1 Posts
    585 Views
    No one has replied
  • Iterazione tra QGraphicsVideoItem, QGraphicsScene, QGraphicsView

    Unsolved
    1
    0 Votes
    1 Posts
    583 Views
    No one has replied
  • Aggiungere a QTableView 2 colonne facenti capo ad un unico ID del modello

    Unsolved
    1
    0 Votes
    1 Posts
    588 Views
    No one has replied
  • Lettura SQL: QODBC/QODBC3

    Unsolved
    1
    0 Votes
    1 Posts
    681 Views
    No one has replied
  • Sviluppare APP Android in Qt

    Solved
    12
    0 Votes
    12 Posts
    3k Views
    mrdebugM
    Ciao, è tutto automatico. Ricorda però di tenere sotto controllo il valore punti per pollice invece dei pixel quando regoli le dimensioni di font e quant'altro. Gli schermi dei dispositivi mobili infatti hanno una risoluzione molto alta ma sono piccoli.
  • Da QCamera, QVideoWidget, QVideoFrame ottenere i dati video (frame)

    Unsolved qvideoframe qtcpsocket
    1
    0 Votes
    1 Posts
    618 Views
    No one has replied
  • Repository file lingua e file traduzioni non allineati

    Unsolved
    1
    0 Votes
    1 Posts
    517 Views
    No one has replied
  • Context menu in qwebengineview

    Unsolved context menu qwebengine netw browser
    1
    0 Votes
    1 Posts
    666 Views
    No one has replied
  • QComboBox dopo selezione, non visualizza più il campo modificato nel modello MySQL

    Unsolved
    10
    0 Votes
    10 Posts
    2k Views
    B
    @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: [image: ffc63b5f-9c70-437e-b0af-76604a48ecd8.jpeg] Modifico il type da inglese ad italiano: [image: 25efa481-ebea-4fa6-a5b3-df85044ac42f.jpeg] [image: a7854220-6bef-404d-ae5f-0209ac7364c1.jpeg] Ora premo NEXT per passare al nome successivo: [image: ca2ead5f-fc0b-47ee-abd3-225f7cd7b5ea.jpeg] e poi torno indietro con PREVIUS: [image: f27eb3a9-bf96-4284-a7e9-dce8cc0c7936.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
  • QComboBox visualizzi solo le relazioni del modello con attivo il filtro

    Solved
    3
    0 Votes
    3 Posts
    791 Views
    B
    @VRonin Grazie mille e scusa del ritardo, mi sono accorto solo ora della risposta! Davvero semplice, ma non avevo intuito che potessi passare il modello direttamente. Giovanni
  • QDialog gestione dei dati

    Unsolved
    4
    0 Votes
    4 Posts
    947 Views
    mrdebugM
    l'approccio è esattamente quello tra 2 classi. Attenzione che MyDialog.exec() apre il dialog in modalità modale
  • This topic is deleted!

    Moved Unsolved
    1
    0 Votes
    1 Posts
    11 Views
    No one has replied
  • QT creator 4.11.0 segnalazione Issue su progetti esempio QT

    Moved Solved
    8
    0 Votes
    8 Posts
    1k Views
    F
    Ho quindi RISOLTO il problema
  • Qt Creator rpath-link

    Unsolved qt creator qt6 crosscompile windows 10 raspberry
    1
    0 Votes
    1 Posts
    594 Views
    No one has replied
  • Accedere a Qlist da QML

    Unsolved
    5
    0 Votes
    5 Posts
    1k Views
    VRoninV
    La risposta alla tua domanda e' qui https://evileg.com/en/post/569/ Sopsetto pero' che tu, alla fine sia iteressato a una cosa simile a quella descritta qui: https://wiki.qt.io/How_to_Use_a_Custom_Class_in_C%2B%2B_Model_and_QML_View
  • Impostare una colonna di QTableWidget come 'read only' - Python 3

    Moved Unsolved
    3
    0 Votes
    3 Posts
    841 Views
    JonBJ
    @VRonin said in Impostare una colonna di QTableWidget come 'read only' - Python 3: è possibile farlo con QDesigner ? Non che io sappia @Achab61 [image: 98b3fca2-bdb7-445c-b011-ac706df35fe7.png]
  • Proteggere un software Qt

    Unsolved
    7
    0 Votes
    7 Posts
    1k Views
    mrdebugM
    Mah, non credo che il link dinamico o meno possa rendere un'applicazione più esposta al rishio di reverse engeeniering. In base ad esperienze passate ciò che la gente va a cercare negli eseguibili sono eventuali certiticati ssl, password da usare nelle funzionalità di encryption etc, ma non di decompilare un programma. Eventualmente uno se lo rifà.