Qt

Добавление данных в таблицу QTableWidget. Очистка таблицы

Необходимо организовать добавление данных в таблицу QTableWidget. Для начала расположим на форме виджет класса QTableWidget с именем tableWidget. Создадим в таблице пару колонок, назвав их, скажем, «Колонка 1» и «Колонка 2».

Предположим, что в объекте map типа QMap<QString, QString> у нас хранятся некие данные, которые в определенный момент мы хотим разместить в табличке.

Прежде, чем организовать добавление данных в ячейки виджета, нужно их создать. Тогда, процесс заполнения таблицы будет выглядеть следующим образом:

[pastacode lang=»cpp» manual=»foreach(QString%20key%2C%20map.keys())%20%7B%0A%09qDebug()%20%3C%3C%20%22key%20%3D%20%22%20%3C%3C%20key%20%3C%3C%20%22value%20%3D%20%22%20%3C%3C%20map.value(key)%3B%0A%20%20%20%20ui-%3EtableWidget-%3EsetRowCount(ui-%3EtableWidget-%3ErowCount()%20%2B%201)%3B%0A%20%20%20%20QTableWidgetItem*%20item%20%3D%20new%20QTableWidgetItem%3B%0A%20%20%20%20item-%3EsetText(key)%3B%0A%20%20%20%20item-%3EsetTextAlignment(Qt%3A%3AAlignCenter)%3B%0A%20%20%20%20ui-%3EtableWidget-%3EsetItem(ui-%3EtableWidget-%3ErowCount()%20-%201%2C%200%2C%20item)%3B%0A%20%20%20%20QTableWidgetItem*%20item1%20%3D%20new%20QTableWidgetItem%3B%0A%20%20%20%20item1-%3EsetText(map.value(key))%3B%0A%20%20%20%20ui-%3EtableWidget-%3EsetItem(ui-%3EtableWidget-%3ErowCount()%20-%201%2C%201%2C%20item1)%3B%0A%7D» message=»» highlight=»» provider=»manual»/]

Данные будут отсортированы по ключу (именно такой сортировкой грешит QMap).

Подстроим размеры колонок под содержимое, прокрутим табличку вниз и спозиционируем курсор на последней записи:

[pastacode lang=»cpp» manual=»ui-%3EtableWidget-%3EresizeColumnsToContents()%3B%0Aui-%3EtableWidget-%3EscrollToBottom()%3B%0Aui-%3EtableWidget-%3EselectRow(ui-%3EtableWidget-%3ErowCount()-1)%3B» message=»» highlight=»» provider=»manual»/]

Чтобы очистить всю таблицу, включая заданные заголовки таблицы, воспользуемся следующим:

[pastacode lang=»cpp» manual=»ui-%3EtableWidget-%3Eclear()%3B» message=»» highlight=»» provider=»manual»/]

Тогда вместо названий колонок «Колонка 1» и «Колонка 2″ будут проставлены их номера по порядку.

Чтобы очистить таблицу, но оставить при этом названия колонок, напишем так:

[pastacode lang=»cpp» manual=»for%20(int%20i%20%3D%200%3B%20i%20%3C%20ui-%3EtableWidget-%3ErowCount()%3B%20%2B%2Bi)%0A%20%20%20%20%20%20%20%20ui-%3EtableWidget-%3EremoveRow(i)%3B%0Aui-%3EtableWidget-%3EsetRowCount(0)%3B» message=»» highlight=»» provider=»manual»/]

Чтобы узнать, как таблицу заполнить данными из SQL запроса, пройдите к другой записи: Добавление данных запроса в таблицу QTableWidget.

Добавление данных в таблицу QTableWidget. Очистка таблицы: 4 комментария

Оставьте своё мнение...

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.