设置模型以在主窗口类外部查看

时间:2014-11-07 06:14:21

标签: c++ qt

我想在主窗口类之外设置ui视图的模型(setModel),在主窗口内部简单,类似于ui->tableView->setModel(new model),但在主窗口之外我无法访问到了你。

如何在主窗口外访问ui。

感谢。

1 个答案:

答案 0 :(得分:0)

1.如果您可以从另一个类访问主窗口,则可以将方法view添加到主窗口,该窗口将返回指向视图的指针。

void ClassA::methodB()
{
   m_mainWindow->view()->setModel(new Model());
}

2.否则,您可以将指向视图的指针作为另一个类构造函数的参数传递:

ClassA* a = new ClassA(ui->tableView);

3.或在ClassA中创建一个方法来分配视图:

void ClassA::setView(QAbstractItemView* view)
{
     view->setModel(new Model);
}

ClassA* a = new ClassA();
a->setView(ui->tableView);