Russian Qt Forum

Qt => Общие вопросы => Тема начата: korel от Февраль 23, 2010, 13:53



Название: определить идентификатор QTableWidget
Отправлено: korel от Февраль 23, 2010, 13:53
Проблема в следующем - на форме есть 3 QTableWidgetа и нужно по нажатию определить его идентификатор(objectName или что то типа того) .
Заранее благодарен за ответ!


Название: Re: определить идентификатор QTableWidget
Отправлено: lit-uriy от Февраль 23, 2010, 14:01
ну задай каждому, objectName.

А там где обрабатываешь "нажатие" (не понятно, чего и куда), прочитай этот objectName


Название: Re: определить идентификатор QTableWidget
Отправлено: korel от Февраль 23, 2010, 14:35
обджект неймы у них есть, я их должне юзать в зависимости от ИД таблицы.

void MainWindow::tableX_itemClicked(QTableWidgetItem* item) - это один слот, который обрабатывает item, но здесь мне нужно проэмитить сигнал с данными итема + ИД таблицы. А ИД таблицы нужно получить как параметр слота (или еще как нить).
И я вот не знаю, как получить этот ИД ку тейбла.


Название: Re: определить идентификатор QTableWidget
Отправлено: MoPDoBoPoT от Февраль 23, 2010, 14:45
Как я понял, таблице (ее objectName'у) соответствует ID. Тогд воспользоваться методом:
Цитата: QtAssistant
QTableWidget * QTableWidgetItem::tableWidget () const
Returns the table widget that contains the item.


Название: Re: определить идентификатор QTableWidget
Отправлено: korel от Февраль 23, 2010, 15:32
Да, спасибо! Я уже разобрался :
QString strTableName = item->tableWidget()->objectName(); просто подумал, что итем должен знать чей он! И все получилось))))


Название: Re: определить идентификатор QTableWidget
Отправлено: lit-uriy от Февраль 23, 2010, 15:37
>>void MainWindow::tableX_itemClicked(QTableWidgetItem* item) - это один слот
А в слот попадаешь по сигналу таблицы? Если да, то просто, sender() - вернёт указатель на объект пославший сигнал


Название: Re: определить идентификатор QTableWidget
Отправлено: korel от Февраль 23, 2010, 15:49
В слот попадаю! Только sender() не юзал. Наверное стоит попробовать.
да, скорее всего мне так и нужно будет сделать.