Помогите с делегатом, Подправьте пожалуйста делегат, а то я совсем запутался( |
Здравствуйте, гость ( Вход | Регистрация )
Помогите с делегатом, Подправьте пожалуйста делегат, а то я совсем запутался( |
Гость_Hepr_* |
20.2.2011, 15:21
Сообщение
#1
|
Гости |
Здравствуйте, у меня есть делегат- QTimeEdit, я делегирую его в QTableWidget, фактически за основу я взял делегат QSpinBox'a из примеров Qt, и изменил то что мне надо, но выскакивают ошибки, я меняю код, и ошибки меняются
Вот сам код delegate.h
delegate.cpp
Скажите пожалуйста, что я делаю неправильно, и объясните как правильно, если не трудно Вот, какая ошибка выскакивает сейчас Ошибка 1 error C2248: QVariant::QVariant: невозможно обратиться к private член, объявленному в классе "QVariant" c:\Documents and Settings\hepr\Мои документы\Visual Studio 2008\Projects\asd\asd\delegets\delegate.cpp 87 Заранее спасибо! |
|
|
xls |
20.2.2011, 16:53
Сообщение
#2
|
Студент Группа: Участник Сообщений: 44 Регистрация: 6.9.2010 Пользователь №: 2013 Спасибо сказали: 7 раз(а) Репутация: 2 |
Ты изменяешь член "value" в константных методах, которые потому и константные, что не должны ничего изменять.
|
|
|
Гость_Hepr_* |
20.2.2011, 17:25
Сообщение
#3
|
Гости |
А исправьте пожалуйста, как правильно
|
|
|
Litkevich Yuriy |
20.2.2011, 20:48
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Гость_Hepr_*, а он тебе как член класса и не нужен. Ты его всё равно всякий раз внутри функции изменяешь и используешь, дак и сделай его локальной переменной функции.
П.С. И делать его указателем тоже ни к чему, т.к. используется только по значению. |
|
|
Гость_Hepr_* |
20.2.2011, 22:23
Сообщение
#5
|
Гости |
Гость_Hepr_*, а он тебе как член класса и не нужен. Ты его всё равно всякий раз внутри функции изменяешь и используешь, дак и сделай его локальной переменной функции. П.С. И делать его указателем тоже ни к чему, т.к. используется только по значению. Это я понимаю, и делаю это для удобства(когда будет работать нормально исправлю), но ошибка возникает, согласитесь не по-этому Ошибка возникает тут: model->setData(index, value , Qt::EditRole); А именно на Qt::EditRole, но почему я не понимаю( |
|
|
Rocky |
20.2.2011, 22:27
Сообщение
#6
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Ошибка возникает тут: model->setData(index, value , Qt::EditRole); А именно на Qt::EditRole, но почему я не понимаю( Ошибка 1 error C2248: QVariant::QVariant: невозможно обратиться к private член, объявленному в классе "QVariant" c:\Documents and Settings\hepr\Мои документы\Visual Studio 2008\Projects\asd\asd\delegets\delegate.cpp 87 Где тут написано, что ошибка возникает на Qt::EditRole? |
|
|
xls |
20.2.2011, 23:15
Сообщение
#7
|
Студент Группа: Участник Сообщений: 44 Регистрация: 6.9.2010 Пользователь №: 2013 Спасибо сказали: 7 раз(а) Репутация: 2 |
Переименуй value.
|
|
|
Гость_hepr_* |
20.2.2011, 23:17
Сообщение
#8
|
Гости |
Ошибка возникает тут: model->setData(index, value , Qt::EditRole); А именно на Qt::EditRole, но почему я не понимаю( Ошибка 1 error C2248: QVariant::QVariant: невозможно обратиться к private член, объявленному в классе "QVariant" c:\Documents and Settings\hepr\Мои документы\Visual Studio 2008\Projects\asd\asd\delegets\delegate.cpp 87 Где тут написано, что ошибка возникает на Qt::EditRole? Во всяком случае VS мне указывает именно на эту строку P.S. я разбил model->setData(index, value , Qt::EditRole); на model->setData(index, value , Qt::EditRole); // и показало что ошибка в этой строке |
|
|
Гость_Hepr_* |
20.2.2011, 23:28
Сообщение
#9
|
Гости |
Цитата Переименуй value. И вправду помогло, а не объясните в чем было проблема, дайте угадаю это была какая-то системная переменная или тп? А не подскажите как теперь установить делегат в QTableWidget, нужный item(а точнее в column) P.S. огромное спасибо за помощь, без вас я бы вряд ли сам понял, где собака зарыта |
|
|
Litkevich Yuriy |
21.2.2011, 11:13
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 19:01 |