Я хотел бы установить модель (setModel) представления ui за пределами класса mainwindow, внутри главного окна это простое, что-то вроде ui->tableView->setModel(new model)
но за пределами основного окна, t иметь доступ к ui.
Как получить доступ к ui за пределами основного окна.
Благодарю.
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);