我想在主窗口类之外设置ui视图的模型(setModel),在主窗口内部简单,类似于ui->tableView->setModel(new model)
,但在主窗口之外我无法访问到了你。
如何在主窗口外访问ui。
感谢。
答案 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);