crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в setHeaderData возвращает FALSE..
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 15.3.2010, 14:30
 
Цитата(kibsoft @ 15.3.2010, 2:03) *
видел пометки pure virtual, т.е. без реализации как я понимаю, правильно ли я думаю?
да, правильно

запись в коде, для истинно виртуального метода, содержит "= 0", например:
class MyClass
{
    MyClass();
    ~MyClass();
   virtual void myVirtualFunction();
   virtual void myPureVirtualFunction() = 0;
};
kibsoft Дата 14.3.2010, 23:03
  MoPDoBoPoT, спасибо за подробное разъяснение! Да, данные жестко заданы, поэтому просто переопределю headerData().
И насчет абстрактных классов - там же есть реализация некоторых методов, это же не чистый интерфейс. А как узнать где есть реализация, а где нету? В доке видел пометки pure virtual, т.е. без реализации как я понимаю, правильно ли я думаю?
MoPDoBoPoT Дата 14.3.2010, 22:55
 
Цитата(kibsoft @ 14.3.2010, 21:13) *
К tableview применяю мою модель, которая наследуется от QAbstractTableModel, в итоге в вьювере заголовки столбцов имеют свои порядковые номера, а я хочу чтобы в хедерах был определенный текст. Поэтому в конструкторе модели моей, я пытаюсь с помощью setHeaderData задать текст заголовка. Например так: setHeaderData(0,Qt::Horizontal,"Текст",Qt::DisplayRole).

QAbstractTableModel - абстрактный класс, то есть это просто интерфейс для работы с моделью (с этим интерфейсом работает представление и т.п.). Весь необходимый функционал надо реализовать самому, поэтому setHeaderData() ничего и не делает.
Если тебе реально нужно редактировать заголовок, то реализуй этот функционал (смотри, например, исходники QStandardItemModel). А если у твоей модели количество столбцов и их названия предопределены (жестко заданы), то можно обойтись простым переопределением headerData().
kibsoft Дата 14.3.2010, 21:13
 
Цитата(Litkevich Yuriy @ 14.3.2010, 21:42) *
Я так понимаю, что сейчас ты пытаешься в делегате поменять заголовок столбца. Не понятно зачем.

По этому расскажи, "что ты хочешь сделать?", а не "как ты это хочешь сделать?"

Нет, не в делегате. К tableview применяю мою модель, которая наследуется от QAbstractTableModel, в итоге в вьювере заголовки столбцов имеют свои порядковые номера, а я хочу чтобы в хедерах был определенный текст. Поэтому в конструкторе модели моей, я пытаюсь с помощью setHeaderData задать текст заголовка. Например так: setHeaderData(0,Qt::Horizontal,"Текст",Qt::DisplayRole).
Litkevich Yuriy Дата 14.3.2010, 20:42
  Я так понимаю, что сейчас ты пытаешься в делегате поменять заголовок столбца. Не понятно зачем.

По этому расскажи, "что ты хочешь сделать?", а не "как ты это хочешь сделать?"
kibsoft Дата 14.3.2010, 19:50
 
Цитата(Litkevich Yuriy @ 14.3.2010, 20:49) *
возможно речь о заголовках столбцов?

Да, извиняюсь за неточное пояснение :rolleyes:
Litkevich Yuriy Дата 14.3.2010, 19:49
  возможно речь о заголовках столбцов?
kibsoft Дата 14.3.2010, 19:43
 
Цитата(Litkevich Yuriy @ 14.3.2010, 19:19) *
Цитата(kibsoft @ 14.3.2010, 20:59) *
но не могу задать заголовок таблицы
у таблицы нет заголовка

Ммм..а что же такое вверху во вьювере 1,2,3 заголовки?

headerData() For horizontal headers, the section number corresponds to the column number. там хранится QVariant с номерами столбцов, которые соответственно отображаются в QTableView.. Если я что-то не так думаю, то объясните пожалуйста.
Litkevich Yuriy Дата 14.3.2010, 18:19
 
Цитата(kibsoft @ 14.3.2010, 20:59) *
но не могу задать заголовок таблицы
у таблицы нет заголовка
kibsoft Дата 14.3.2010, 17:59
  Есть QTableView, своя модель, свой делегат, но не могу задать заголовок таблицы..Может надо переопределять этот метод? Если да, то как?
И вообще есть вопрос общий, как можно понять что писать в виртуальном методе, вот например setHeaderData? В доке написано, что реализация обязательно должна содержать сигнал об изменении хедеров, но что кроме этого там должно быть?
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 2:56