美文网首页
QDataWidgetMapper把model中的数据自动更新到

QDataWidgetMapper把model中的数据自动更新到

作者: 王焕钢 | 来源:发表于2020-02-13 22:17 被阅读0次

    1.界面

    2.原理

    1.当点next时,自动从MODE中取出数据,更新上面几个widget值。

    2.QDataWidgetMapper的AutoSubmit模式下,如果编辑字符,失去焦点,MODE中关联的值,被更新

    3.代码example

        mapper = new QDataWidgetMapper(this);

        mapper->setModel(model);

        mapper->addMapping(nameEdit, 0);

        mapper->addMapping(addressEdit, 1);

        mapper->addMapping(ageSpinBox, 2);

        connect(previousButton, &QAbstractButton::clicked, mapper, &QDataWidgetMapper::toPrevious);

        connect(nextButton, &QAbstractButton::clicked, mapper, &QDataWidgetMapper::toNext);

        connect(mapper, &QDataWidgetMapper::currentIndexChanged, this, &Window::updateButtons);

    ----------------------------------------------------------------------------------------------------------------------------------------------

    void Window::setupModel()

    {

        model = new QStandardItemModel(5, 3, this);

        QStringList names;

        names << "Alice" << "Bob" << "Carol" << "Donald" << "Emma";

        QStringList addresses;

        addresses << "<qt>123 Main Street<br/>Market Town</qt>"

                  << "<qt>PO Box 32<br/>Mail Handling Service"

                    "<br/>Service City</qt>"

                  << "<qt>The Lighthouse<br/>Remote Island</qt>"

                  << "<qt>47338 Park Avenue<br/>Big City</qt>"

                  << "<qt>Research Station<br/>Base Camp<br/>Big Mountain</qt>";

        QStringList ages;

        ages << "20" << "31" << "32" << "19" << "26";

        for (int row = 0; row < 5; ++row) {

          QStandardItem *item = new QStandardItem(names[row]);

          model->setItem(row, 0, item);

          item = new QStandardItem(addresses[row]);

          model->setItem(row, 1, item);

          item = new QStandardItem(ages[row]);

          model->setItem(row, 2, item);

        }

    }

    3.总结

    QDataWidgetMapper一般是row中的对应的列关联到相应该widget

    相关文章

      网友评论

          本文标题:QDataWidgetMapper把model中的数据自动更新到

          本文链接:https://www.haomeiwen.com/subject/cvkrfhtx.html