Ошибка invalid conversion from `QWidget*' to `QComboBox*' |
Здравствуйте, гость ( Вход | Регистрация )
Ошибка invalid conversion from `QWidget*' to `QComboBox*' |
kvak |
16.9.2010, 11:47
Сообщение
#1
|
Студент Группа: Участник Сообщений: 51 Регистрация: 5.5.2010 Пользователь №: 1690 Спасибо сказали: 1 раз(а) Репутация: 0 |
Имеется:
QComboBox *oe_units; *PM - объекта собственного класса *TABLE_ELITE - таблица QTableWidget, которая является данным класса, который представляет объект PM Не рабоатает вот такая нструкция: oe_units = PM->TABLE_ELITE->cellWidget(e, f); Код ошибки: code\order.cpp:104: error: invalid conversion from `QWidget*' to `QComboBox*' Задача получить через функцию cellWidget, выполненную для таблицы, которая принадлежит классу, представленному объектом PM, указатель на тот самый виджет. К этому времени в этой ячейке с адресом (e, f) находится виджет QComboBox. Так как функция cellWidget возвращает указатель полученного виджета, то по идее мой указатель oe_units должен после выполнения инструкции указывать на тот самый виджет. Сам виджет QComboBox не приватный. В чем тут может быть ошибка ? Правильная ли сама инструкция ? |
|
|
Алексей1153 |
16.9.2010, 11:50
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
приведи тип указателя (на свой страх и риск - следи, чтобы там был указатель именно на комбу)
|
|
|
molchanoviv |
16.9.2010, 11:52
Сообщение
#3
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
проверь не стоит ли у тебя в oe_units = new QComboBox вместо QComboBox QWidget?
|
|
|
igor_bogomolov |
16.9.2010, 11:55
Сообщение
#4
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
|
|
|
kwisp |
16.9.2010, 12:24
Сообщение
#5
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
oe_units = (QComboBox*)PM->TABLE_ELITE->cellWidget(e, f); извини, позанудствую. ) такое приведение типов не только в Qt не рекомендовано - даже в С++ не рекомендуют. *. не наглядно и трудночитаемое приведение *. ты не знаешь какой _cast за ни прячется. *. что будет в случае неудачного приведения? - страх и риск? *. ... |
|
|
Алексей1153 |
16.9.2010, 12:49
Сообщение
#6
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
*. не наглядно и трудночитаемое приведение *. ты не знаешь какой _cast за ни прячется. *. что будет в случае неудачного приведения? - страх и риск? *. ... всё - чушь (ИМХО). Во-первых, гораздо нагляднее, чем синтаксис каста. А потом, я всегда знаю, что у меня в МОЕЙ программе где делается Вот с чужими модулями, тут я согласен, неплохо прокастовать и проверить на ноль. Но это тоже когда-нибудь не спасёт |
|
|
kwisp |
16.9.2010, 13:43
Сообщение
#7
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
Алексей1153 |
16.9.2010, 14:09
Сообщение
#8
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
kwisp |
16.9.2010, 14:45
Сообщение
#9
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
Litkevich Yuriy |
16.9.2010, 14:48
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 15.1.2025, 9:21 |