1  void MainWindow::setupCoreWidgets() {
2     mainWidget = new QWidget();
3     centralWidgetLayout = new QVBoxLayout();
4     gridLayout = new QGridLayout();
5     buttonsLayout = new QHBoxLayout();
6     nameLabel = new QLabel("Name:");
7     dateOfBirthLabel= new QLabel("Date Of Birth:");
8     phoneNumberLabel = new QLabel("Phone Number");
9     savePushButton = new QPushButton("Save");
10    clearPushButton = new QPushButton("Clear All");
11    nameLineEdit = new QLineEdit();
12    dateOfBirthEdit = new QDateEdit(QDate::currentDate());
13    phoneNumberLineEdit = new QLineEdit();
14    // TableView
15    appTable = new QTableView();
16    model = new QStandardItemModel(1, 3, this);
17    appTable->setContextMenuPolicy(Qt::CustomContextMenu);
18    appTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
19    /** Note **/
20    model->setHorizontalHeaderItem(0,
21                 new QStandardItem(QString("Name")));
22    model->setHorizontalHeaderItem(1,
23                 new QStandardItem(QString("Date of Birth")));
24    model->setHorizontalHeaderItem(2,
25                 new QStandardItem(QString("Phone Number")));
26   appTable->setModel(model);
27   QStandardItem *firstItem = new QStandardItem(QString("Ali"));
28   QDate dateOfBirth(2000, 1, 1);
29   QStandardItem *secondItem = new QStandardItem(dateOfBirth.toString());
30   QStandardItem *thirdItem = new QStandardItem(QString("0911***2245"));
31   model->setItem(0,0,firstItem);
32   model->setItem(0,1,secondItem);
33   model->setItem(0,2,thirdItem);
34   gridLayout->addWidget(nameLabel, 0, 0);
35   gridLayout->addWidget(nameLineEdit, 0, 1);
36   gridLayout->addWidget(dateOfBirthLabel, 1, 0);
37   gridLayout->addWidget(dateOfBirthEdit, 1, 1);
38   gridLayout->addWidget(phoneNumberLabel, 2, 0);
39   gridLayout->addWidget(phoneNumberLineEdit, 2, 1);
40   buttonsLayout->addStretch();
41   buttonsLayout->addWidget(savePushButton);
42   buttonsLayout->addWidget(clearPushButton);
43  }