Настройка модели для просмотра вне класса mainwindow

0

Я хотел бы установить модель (setModel) представления ui за пределами класса mainwindow, внутри главного окна это простое, что-то вроде ui->tableView->setModel(new model) но за пределами основного окна, t иметь доступ к ui.

Как получить доступ к ui за пределами основного окна.

Благодарю.

Теги:
qt

1 ответ

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);
  • 0
    Привет, спасибо :) Я на самом деле кое-что выяснил, ожидая ответа, я создал метод, который возвращал пользовательский интерфейс, чтобы я мог создать новый экземпляр mainwindow при любом вызове и использовать пользовательский интерфейс. вернулся из метода. Все это здорово, мне нравится первый вариант.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню