无法在QStackedWidget中更新视图

时间:2011-10-28 12:59:37

标签: qt qt4

我正在使用stackedwidget,由于某种原因,我无法更新视图。我用它来到我的第一个视图 (manage_employee_data)。

connect(ui.actionManage_Employees_Data, SIGNAL(triggered()), this, SLOT(manage_employee_data()));

以下是我用来更新视图的代码。

void employed::manage_employee_data()
{
    tablesModel = new QSqlTableModel(ui.empds_tableview);
    tablesModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
    tablesModel->setTable("employee_datastores");

    ui.empds_tableview->setModel(tablesModel);

    ui.empds_tableview->setColumnHidden(tablesModel->fieldIndex("id"), true);
    ui.empds_tableview->setColumnHidden(tablesModel->fieldIndex("employee_datastore_description"), true);

    ui.empds_tableview->setEditTriggers(QAbstractItemView::NoEditTriggers);
    ui.empds_tableview->setSelectionMode(QAbstractItemView::SingleSelection);
    ui.empds_tableview->setSortingEnabled(true);

    ui.empds_tableview->setSelectionBehavior(QAbstractItemView::SelectRows);
    ui.empds_tableview->horizontalHeader()->setStretchLastSection(true);

    tablesModel->select();
    //Localized Header Captions
    tablesModel->setHeaderData(1, Qt::Horizontal, tr("Employee DataStore Name"));

    connect(ui.empds_tableview->selectionModel(),
            SIGNAL(currentRowChanged(const QModelIndex&,
                                     const QModelIndex&)),
            this, SLOT(updateView()));

    ui.stackedWidget->setCurrentWidget(ui.page_10);

}

void employed::updateView()
{
    QMessageBox msgBox;
    msgBox.setText("Manage Employee Data Sent Me.");
    msgBox.exec();
}

1 个答案:

答案 0 :(得分:0)

我刚刚将ui.stackedWidget->setCurrentWidget(ui.page_10);添加到我的更新功能中。

void employed::updateView()
{
    QMessageBox msgBox;
    msgBox.setText("Manage Employee Data Sent Me.");
    msgBox.exec();
    ui.stackedWidget->setCurrentWidget(ui.page_10);
}