2011-10-28 90 views
0

我正在使用stackedwidget,出於某種原因,我無法更新視圖。我使用這個來獲取我的第一個視圖 (manage_employee_data)。無法更新StackedWidget中的視圖

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(); 
} 
+0

我解決了它,它工作正常now.Thanks。 – Gandalf

+1

你是如何解決它的?你可以回答你自己的問題... – alexisdm

回答

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); 
}