Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2012, 12:53   #1
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию QTableWidget получить значение

Создала таблицу QTableWidget первый столбец просто текст, а во второй добавляются комбобоксы.
Скажите подалуйста, после того как пользователь в комбобоксе выберет определённое значение, как считать это значение по номеру строки и столбца?
Написала что-то вроде этого
Код:
(ttablew->cellWidget(i,1)->currentText())
но это не работает.
Код:
currentText()
это для получения значения у обычного комбобокса, а как получить значение того, что находится в таблице?
какой метод??
PinkPink вне форума Ответить с цитированием
Старый 20.04.2012, 13:19   #2
microbit
Форумчанин
 
Аватар для microbit
 
Регистрация: 26.09.2011
Сообщений: 176
По умолчанию

может так
Код:
((QComboBox*)ttablew->cellWidget(i,1))->currentText()
microbit вне форума Ответить с цитированием
Старый 20.04.2012, 18:19   #3
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

Цитата:
Сообщение от microbit Посмотреть сообщение
может так
Код:
((QComboBox*)ttablew->cellWidget(i,1))->currentText()
возникает вот такая ошибка:
C:\Qt\fail2\ttask.cpp:81: ошибка: C2039: 'currentText' : is not a member of 'QWidget'
и вот такая:
c:\qtsdk\desktop\qt\4.8.0\msvc2010\ include\qtgui\qwidget.h:147: see declaration of 'QWidget'
кажется что-то не так.
раз уже есть таблица под виджеты, значит есть и способ получить значения этих виджетов. сто пудов есть какая-то функция, просто не знаю какая. в документации не смогла подобрать что нужно
PinkPink вне форума Ответить с цитированием
Старый 20.04.2012, 19:26   #4
microbit
Форумчанин
 
Аватар для microbit
 
Регистрация: 26.09.2011
Сообщений: 176
По умолчанию

скорее всего ошиблись в скобках при приведении типов, хорошенько посмотрите код, а лучше сюда скопируйте.

Последний раз редактировалось microbit; 20.04.2012 в 19:27. Причина: привидение или приведение
microbit вне форума Ответить с цитированием
Старый 21.04.2012, 02:34   #5
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Хорошо

Код:
QComboBox cb1;
cb1.addItem("34654645");
cb1.addItem("xghgfhdfghdfh");
cb1.addItem("34534dfgfhfgh");
CrosswordGrid->setCellWidget(0,0, &cb1);
CrosswordGrid->cellWidget(0,0)->setToolTip("dfgsdfgsdfg");
cb1.addItem("dfgdfgdsfgdsfffffffffffffffffffffffg");
CrosswordGrid->item(1,1)->setText(cb1.currentText());
reinterpret_cast<QComboBox*>(CrosswordGrid->cellWidget(0,0))->addItem("!!!!!!!!!!!!!!!!!!!");
CrosswordGrid->item(2,2)->setText(reinterpret_cast<QComboBox*>(CrosswordGrid->cellWidget(0,0))->currentText());
По-быстрому накалякал
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 21.04.2012, 22:20   #6
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

Цитата:
Сообщение от xwicked Посмотреть сообщение
Код:
QComboBox cb1;
cb1.addItem("34654645");
cb1.addItem("xghgfhdfghdfh");
cb1.addItem("34534dfgfhfgh");
CrosswordGrid->setCellWidget(0,0, &cb1);
CrosswordGrid->cellWidget(0,0)->setToolTip("dfgsdfgsdfg");
cb1.addItem("dfgdfgdsfgdsfffffffffffffffffffffffg");
CrosswordGrid->item(1,1)->setText(cb1.currentText());
reinterpret_cast<QComboBox*>(CrosswordGrid->cellWidget(0,0))->addItem("!!!!!!!!!!!!!!!!!!!");
CrosswordGrid->item(2,2)->setText(reinterpret_cast<QComboBox*>(CrosswordGrid->cellWidget(0,0))->currentText());
По-быстрому накалякал
спасибо большое за идею) значит нужно было с преобразованиями заморочаться =)
PinkPink вне форума Ответить с цитированием
Старый 22.04.2012, 12:41   #7
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Хорошо

Цитата:
Сообщение от PinkPink Посмотреть сообщение
спасибо большое за идею) значит нужно было с преобразованиями заморочаться =)
Это не идея - это решение
Я сначала думал, что задача нерешаема. Теперь заюзаю этот способ в своей программе. Больше памяти будет освобождаться...
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 22.04.2012, 16:43   #8
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

Цитата:
Сообщение от xwicked Посмотреть сообщение
Я сначала думал, что задача нерешаема.
Честно говоря, не очень понимаю зачем тогда нужно помещать виджеты в таблицу, если нельзя с ними работать как обычно. Например, получать значения..
PinkPink вне форума Ответить с цитированием
Старый 22.04.2012, 18:29   #9
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Хорошо

Цитата:
Сообщение от PinkPink Посмотреть сообщение
Честно говоря, не очень понимаю зачем тогда нужно помещать виджеты в таблицу, если нельзя с ними работать как обычно. Например, получать значения..
Моё сомнение берёт своё начало глубоко в Delphi 7. Когда я его изучал - у меня 8 из 10 WinApi функций не получались отчасти из-за невозможности правильного преобразования указателей и типов.
А Qt мне помогает покрыть моё новичковое состояние сознания
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу получить значение от функции Sauber Общие вопросы C/C++ 1 16.11.2011 02:33
Получить значение пароля Sergey112233 Microsoft Office Excel 20 19.08.2011 09:30
Как получить значение с сайта? Dux Работа с сетью в Delphi 1 26.03.2011 18:16
получить значение из select'a для IE Damhurz JavaScript, Ajax 1 09.06.2009 16:33