4

さて、ここに問題があります:

  1. aを作成し、モデルを;にバインドするメソッドをQTableView使用します。setModel(myModel)myModelmyTableView

  2. 最初は、にデータがありませんmyModel。を使用hideColumn(0)してジョブを実行します。これはうまく機能しますが、にデータを読み込んだ後、myModel非表示にした列が表示されます。

モデルが変更されたときに列の非表示状態を保持する方法を教えてもらえますか?

任意の提案をいただければ幸いです。


OK、これがコードです。

void ModelView::createModelAndView()
{

    _TableModel = new TableModel(this);

    _Table = new QTableView(this);

    _Table->setModel(_TableModel);

    _Table->hideColumn(0);      
    _Table->hideColumn(10);     
}

現在、_TableModelにはデータがありません。

次に、これに従います:

_TableModel->loadData();

このloadData()メソッドは、データを取得してモデルにデータをプッシュするために使用されます。このステップの直後に、ビュー(つまり_Table)が変更されます。

4

2 に答える 2

2

これを行う:

connect(dataModel, SIGNAL(modelReset()), SLOT(modelReset()));

modelReset()スロット内:

void SomeClass::modelReset()
{
  tableView->hideColumn(0);
}
于 2012-12-27T07:22:27.203 に答える
1

最初にデータモデルを設定し、次にそのGUI表現を微調整します。

tableView->setModel(dataModel);
tableView->hideColumn(0);
于 2012-12-27T06:17:43.287 に答える