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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено]QAbstractItemModel::columnCount();  (Прочитано 1862 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« : Сентябрь 17, 2013, 10:02 »

Код
C++ (Qt)
int ListModelBrowser::columnCount(const QModelIndex &parent) const
{
   QObject *element = reinterpret_cast<QObject*>(parent.internalPointer());
   if(QVariant(element->metaObject()->className()).toString() == "Base")
   {
      return 4;
   }
   return 3;
}
 
Почему нельзя использовать такой код???
Код:
element->metaObject()->className()
« Последнее редактирование: Сентябрь 20, 2013, 14:15 от demaker » Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #1 : Сентябрь 17, 2013, 10:28 »

Просмотр ассистента может уберечь от таких вопросов - сравнение указателей на строки бессмысленно. По теме: classname() возвращает не QString, а char*. Для сравнения С-строк можно использовать qstrcmp.
Код:
if(qstrcmp(element->metaObject()->className(), "Base") == 0)
« Последнее редактирование: Сентябрь 17, 2013, 10:32 от Hellraiser » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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