Russian Qt Forum
Май 03, 2024, 00:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Узнать из Model о View (4.1)  (Прочитано 5673 раз)
igorko
Гость
« : Май 03, 2006, 14:31 »

Я создал свою MyModel : public QAbstractTableModel
и установил ее на QTableView

Подскажите, плз, можно ли из MyModel узнать что-нибудь о QTableView на который она установлена?

Например как получить размеры QTableView из MyModel?

В доках ничего не нахожу.

Спасибо!!!
Записан
Sergeich
Гость
« Ответ #1 : Май 03, 2006, 14:41 »

А на хрена!? Идея MVC как раз и состоит в том, что модель ничего не должна знать о виде.
Записан
igorko
Гость
« Ответ #2 : Май 03, 2006, 17:11 »

Да Serg,
Чего-то я об этом не подумал.

Моя задача такова: мой Delegate:public QItemDelegate создает свои editor-ы для полей таблицы в зависимости от типа поля.
Когда я создаю QTextEdit, то хотелось бы чтобы его размер можно было вычислить в зависимости от размера QTableView.
А как его "достать" из модели либо делегата - не знаю Грустный

Буду благодарен за любые комментарии.
Записан
Sergeich
Гость
« Ответ #3 : Май 03, 2006, 18:01 »

Как я понял ты юзаешь QWidget * createEditor ( QWidget * parent, ... ) для создания QTextEdit. В данном случае parent - указатель на QTableView.
Записан
nEoN
Гость
« Ответ #4 : Май 04, 2006, 08:34 »

Цитата: "igorko"
Когда я создаю QTextEdit, то хотелось бы чтобы его размер можно было вычислить в зависимости от размера QTableView.
А как его "достать" из модели либо делегата - не знаю Грустный

Вообщето View сама подгоняет размер созданного editor'a под размеры ячейки.
Если тебе нужен какой то особенный размер, то правильней будет у делегата переопределить виртуальный метод
Код:
updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex & index) const;
где editor - окно редактора ячейки, editor->parent() - должен быть View.
Записан
igorko
Гость
« Ответ #5 : Май 04, 2006, 09:45 »

Cпасибо nEoN и Sergeich

Я именно в updateEditorGeometry все и делал.

(QWidget*)editor->parent()->size()

это именно то что мне нужно: теперь мой QTextEdit "вписывается" во View и изменяется с изменением размеров родителя Улыбающийся

Спасибо что просветили.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.119 секунд. Запросов: 20.