{
    setupModel();
 
    nameLabel 
= new QLabel(tr
("Na&me:"));
    addressLabel 
= new QLabel(tr
("&Address:"));
    ageLabel 
= new QLabel(tr
("A&ge (in years):"));
 
    nameLabel->setBuddy(nameEdit);
    addressLabel->setBuddy(addressEdit);
    ageLabel->setBuddy(ageSpinBox);
 
    mapper->setModel(model);
    /*
       When we change the below from Edit's to Labels, it doesn't work.
    */
    // This used to be mapper->addMapping(nameEdit, 0);
    mapper->addMapping(nameLabel, 0);
    // This used to be mapper->addMapping(addressEdit, 1);
    mapper->addMapping(addressLabel, 1);
    mapper->addMapping(ageSpinBox, 2);
 
    connect(previousButton, SIGNAL(clicked()),
            mapper, SLOT(toPrevious()));
    connect(nextButton, SIGNAL(clicked()),
            mapper, SLOT(toNext()));
    connect(mapper, SIGNAL(currentIndexChanged(int)),
            this, SLOT(updateButtons(int)));
 
    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(ageLabel, 3, 0, 1, 1);
    layout->addWidget(ageSpinBox, 3, 1, 1, 1);
    setLayout(layout);
 
    setWindowTitle(tr("Simple Widget Mapper"));
    mapper->toFirst();
}
        Window::Window(QWidget *parent)
    : QWidget(parent)
{
    setupModel();
    nameLabel = new QLabel(tr("Na&me:"));
    nameEdit = new QLineEdit();
    addressLabel = new QLabel(tr("&Address:"));
    addressEdit = new QTextEdit();
    ageLabel = new QLabel(tr("A&ge (in years):"));
    ageSpinBox = new QSpinBox();
    nextButton = new QPushButton(tr("&Next"));
    previousButton = new QPushButton(tr("&Previous"));
    nameLabel->setBuddy(nameEdit);
    addressLabel->setBuddy(addressEdit);
    ageLabel->setBuddy(ageSpinBox);
    mapper = new QDataWidgetMapper(this);
    mapper->setModel(model);
    /*
       When we change the below from Edit's to Labels, it doesn't work.
    */
    // This used to be mapper->addMapping(nameEdit, 0);
    mapper->addMapping(nameLabel, 0);
    // This used to be mapper->addMapping(addressEdit, 1);
    mapper->addMapping(addressLabel, 1);
    mapper->addMapping(ageSpinBox, 2);
    connect(previousButton, SIGNAL(clicked()),
            mapper, SLOT(toPrevious()));
    connect(nextButton, SIGNAL(clicked()),
            mapper, SLOT(toNext()));
    connect(mapper, SIGNAL(currentIndexChanged(int)),
            this, SLOT(updateButtons(int)));
    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(ageLabel, 3, 0, 1, 1);
    layout->addWidget(ageSpinBox, 3, 1, 1, 1);
    setLayout(layout);
    setWindowTitle(tr("Simple Widget Mapper"));
    mapper->toFirst();
}
To copy to clipboard, switch view to plain text mode 
  
				
Bookmarks