Russian Qt Forum
Май 03, 2024, 19:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableWidget очистить строку  (Прочитано 4674 раз)
slan
Гость
« : Август 02, 2011, 11:19 »

Вот возник такой вопрос: как очистить строку?
Нашел только RemoveRow, но это не то.
Пробую так:
Код:
QTableWidget *tvGoods = new QTableWidget(3, 8, this);;
QTableWidgetItem *wiItem = new QTableWidgetItem("");
for(int i = 0; i <= 7; i++)
            tvGoods->setItem(0, i, wiItem);
Очищается лишь первая ячейка в строке, остальные не изменяются. Что делаю не так?
Записан
kambala
Джедай : наставник для всех
*******
Online Online

Сообщений: 4727



Просмотр профиля WWW
« Ответ #1 : Август 02, 2011, 11:29 »

для каждой ячейки надо новый QTableWidgetItem создавать.
Код
C++ (Qt)
int cols = 8;
QTableWidget *tvGoods = new QTableWidget(3, cols, this);
for (int i = 0; i < cols; ++i)
   tvGoods->setItem(0, i, new QTableWidgetItem);
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
slan
Гость
« Ответ #2 : Август 02, 2011, 11:32 »

для каждой ячейки надо новый QTableWidgetItem создавать.
Код
C++ (Qt)
int cols = 8;
QTableWidget *tvGoods = new QTableWidget(3, cols, this);
for (int i = 0; i < cols; ++i)
   tvGoods->setItem(0, i, new QTableWidgetItem);

Спасибо, примерно так я и думал. Однако кажется странным, что нет стандартных методов (нашел только очистить всю таблицу)
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Август 02, 2011, 11:45 »

Цитировать
Однако кажется странным, что нет стандартных методов (нашел только очистить всю таблицу)
Ну почему же?
Код
C++ (Qt)
QTableWidget *tvGoods;
for( int i = 0; i < tvGoods->model()->columnCount(); i++ )
   tvGoods->model()->setData( tvGoods->model()->index( row, i ), QVariant() );
Записан

Qt 5.11/4.8.7 (X11/Win)
Dima1985
Гость
« Ответ #4 : Август 02, 2011, 20:08 »

Здравствуйте
Проблема в следующем:
Есть таблица QTableWidget. В ней есть столбики, размера которых менять нельзя.
Но строчки некоторых ячеек не помещаются  в ячейки, как сделать так, чтобы при наводки мыши на ячейку с длинным текстом, значения ячейки прорисовывалось на соседних ячейках полностью?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.135 секунд. Запросов: 23.