crossplatform.ru

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

igor_bogomolov
  опции профиля:
сообщение 25.8.2010, 14:22
Сообщение #1


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Переходил с QTableWidget на QTableView+QStandardItemModel. В связи с этим нужно было заменить QTableWidgetItem на QStandardItem. Помню, что интерфейс одинаковый, в случае чего, думаю, компилятор мне подскажет.
Все компилится, но ничего не работает. Замучился разбираться... Залез в доки и вижу, что вот такую вот свинью подложили
void QTableWidgetItem::setData ( int role, const QVariant & value )
void QStandardItem::setData ( const QVariant & value, int role = Qt::UserRole + 1 )
т.е. параметры местами поменены. Я часа полтора - два с отладчиком просидел. Зла прям не хватает :mad:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 3)
Алексей1153
  опции профиля:
сообщение 25.8.2010, 19:03
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2943
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


вообще-то, компилятор должен чётко ругаться, когда в ссылочный параметр что-то левое подставляют. Странно как-то. Может, есть перегруженная функция (к тому же пустая, скорее всего) ?

А под отладчиком указатель команд в какую функцию прыгает - не смотрел ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 30.8.2010, 9:57
Сообщение #3


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


void QTableWidgetItem::setData ( int role, const QVariant & value ), покажи пожалуйста вызов в твоем коде, просто строку.
просто в данном случает если это код вида:
QTableWidgetItem i;
i.setData(2, 4);
В подобном коде будет происходить автоматический каст к QVariant(int) поскольку он не объявлен explicit
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 30.8.2010, 18:35
Сообщение #4


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(wiz29 @ 30.8.2010, 10:57) *
покажи пожалуйста вызов в твоем коде
Для чего? Там все в точности как вы описали.

Это был просто крик души. Я потратил много времени из-за своей не внимательности (ну и такой вот небольшой подлянки от Qt). Теперь буду знать эту особенность.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 21.6.2025, 11:21