Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: kpx13 от Июнь 16, 2010, 18:27



Название: QTableWidget - вставить текст
Отправлено: kpx13 от Июнь 16, 2010, 18:27
Как просто взять и заполнить таблицу текстом?  mtrx->item(i, j)->setText("0"); не работает ни фига! почему?


Название: Re: QTableWidget - вставить текст
Отправлено: BRE от Июнь 16, 2010, 18:37
Как просто взять и заполнить таблицу текстом?  mtrx->item(i, j)->setText("0"); не работает ни фига! почему?
Потому что нужно сначала этот item создать и установить.
Посмотри на QTableWidget::setItem


Название: Re: QTableWidget - вставить текст
Отправлено: lit-uriy от Июнь 16, 2010, 18:38
>>item(i, j)->setText
А элемент-то есть? Создал?


Название: Re: QTableWidget - вставить текст
Отправлено: kpx13 от Июнь 16, 2010, 18:47
Ясно, спасибо!
извиняюсь за глупый вопрос, но почему нельзя было легче сделать метод, без всяких лишних телодвижений? Это ведь такая тривиальная задача

            QTableWidgetItem item;
            mtrx->setItem(i, j, &item);
            mtrx->item(i, j)->setText("0");

- не работает, ничего не заполняет


Название: Re: QTableWidget - вставить текст
Отправлено: kpx13 от Июнь 16, 2010, 19:00
           QTableWidgetItem *item = new QTableWidgetItem;
            item->setText("0");
            mtrx->setItem(i, j, item);

а так заработало... бред какой-то!
А как выровнять текст по ширине? по центру сделать?


Название: Re: QTableWidget - вставить текст
Отправлено: Kolobok от Июнь 16, 2010, 19:37
QTableWidgetItem::setData ( int role, const QVariant & value )

offtop
I love Qt
бред какой-то!

Ты уж определись :)


Название: Re: QTableWidget - вставить текст
Отправлено: lit-uriy от Июнь 16, 2010, 20:12
>>а так заработало... бред какой-то!
учебник тебе надо по Си++, читать про область видимости переменных


Название: Re: QTableWidget - вставить текст
Отправлено: kpx13 от Июнь 17, 2010, 00:49
Так я же ничего не поменяла, указатель только сделала.
Да, я люблю qt, это всегда так бывает: сначала бесишься, а потом понимаешь что ответ есть


Название: Re: QTableWidget - вставить текст
Отправлено: ifthl от Июнь 17, 2010, 10:25
           QTableWidgetItem *item = new QTableWidgetItem;
            item->setText("0");
            mtrx->setItem(i, j, item);

а так заработало... бред какой-то!
А как выровнять текст по ширине? по центру сделать?

ИМХО
Так объекты создаются в глобальной памяти, а как вы писали до этого в стёке, видимо при выходе из функции они удалились(сработал деструктор).