2011-10-28 3 views
0

stackwidgetを使用していて、何らかの理由でビューを更新できません。これを最初のビュー (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

私はそれを解決し、今はうまくいきます。ありがとうございます。 – 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); 
} 
関連する問題