Spec-Zone.ru › Qt 5.9

Класс QTableWidget

Класс QTableWidget предоставляет представление таблицы на основе элементов с моделью по умолчанию. Подробнее...

Заголовок: #include <QTableWidget>
qmake: QT += widgets
Наследуется от: QTableView
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Свойства

  • columnCount : int
  • rowCount : int
  • 5 свойств унаследовано от QTableView
  • 16 свойств унаследовано от QAbstractItemView
  • 3 свойства унаследовано от QAbstractScrollArea
  • 6 свойств унаследовано от QFrame
  • 59 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

Общедоступные функции

QTableWidget(QWidget *parent = Q_NULLPTR)
QTableWidget(int rows, int columns, QWidget *parent = Q_NULLPTR)
~QTableWidget()
QWidget * cellWidget(int row, int column) const
void closePersistentEditor(QTableWidgetItem *item)
int column(const QTableWidgetItem *item) const
int columnCount() const
int currentColumn() const
QTableWidgetItem * currentItem() const
int currentRow() const
void editItem(QTableWidgetItem *item)
QList<QTableWidgetItem *> findItems(const QString &text, Qt::MatchFlags flags) const
QTableWidgetItem * horizontalHeaderItem(int column) const
QTableWidgetItem * item(int row, int column) const
QTableWidgetItem * itemAt(const QPoint &point) const
QTableWidgetItem * itemAt(int ax, int ay) const
const QTableWidgetItem * itemPrototype() const
void openPersistentEditor(QTableWidgetItem *item)
void removeCellWidget(int row, int column)
int row(const QTableWidgetItem *item) const
int rowCount() const
QList<QTableWidgetItem *> selectedItems() const
QList<QTableWidgetSelectionRange> selectedRanges() const
void setCellWidget(int row, int column, QWidget *widget)
void setColumnCount(int columns)
void setCurrentCell(int row, int column)
void setCurrentCell(int row, int column, QItemSelectionModel::SelectionFlags command)
void setCurrentItem(QTableWidgetItem *item)
void setCurrentItem(QTableWidgetItem *item, QItemSelectionModel::SelectionFlags command)
void setHorizontalHeaderItem(int column, QTableWidgetItem *item)
void setHorizontalHeaderLabels(const QStringList &labels)
void setItem(int row, int column, QTableWidgetItem *item)
void setItemPrototype(const QTableWidgetItem *item)
void setRangeSelected(const QTableWidgetSelectionRange &range, bool select)
void setRowCount(int rows)
void setVerticalHeaderItem(int row, QTableWidgetItem *item)
void setVerticalHeaderLabels(const QStringList &labels)
void sortItems(int column, Qt::SortOrder order = Qt::AscendingOrder)
QTableWidgetItem * takeHorizontalHeaderItem(int column)
QTableWidgetItem * takeItem(int row, int column)
QTableWidgetItem * takeVerticalHeaderItem(int row)
QTableWidgetItem * verticalHeaderItem(int row) const
int visualColumn(int logicalColumn) const
QRect visualItemRect(const QTableWidgetItem *item) const
int visualRow(int logicalRow) const
  • 34 общедоступных функций унаследовано от QTableView
  • 59 общедоступных функций унаследовано от QAbstractItemView
  • 20 общедоступных функций унаследовано от QAbstractScrollArea
  • 14 общедоступных функций унаследовано от QFrame
  • 214 общедоступных функций унаследовано от QWidget
  • 32 общедоступных функций унаследовано от QObject
  • 14 общедоступных функций унаследовано от QPaintDevice

Открытые слоты

void clear()
void clearContents()
void insertColumn(int column)
void insertRow(int row)
void removeColumn(int column)
void removeRow(int row)
void scrollToItem(const QTableWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)
  • 11 открытых слотов унаследовано от QTableView
  • 9 открытых слотов унаследовано от QAbstractItemView
  • 19 открытых слотов унаследовано от QWidget
  • 1 открытый слот унаследовано от QObject

Сигналы

void cellActivated(int row, int column)
void cellChanged(int row, int column)
void cellClicked(int row, int column)
void cellDoubleClicked(int row, int column)
void cellEntered(int row, int column)
void cellPressed(int row, int column)
void currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn)
void currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
void itemActivated(QTableWidgetItem *item)
void itemChanged(QTableWidgetItem *item)
void itemClicked(QTableWidgetItem *item)
void itemDoubleClicked(QTableWidgetItem *item)
void itemEntered(QTableWidgetItem *item)
void itemPressed(QTableWidgetItem *item)
void itemSelectionChanged()
  • 7 сигналов унаследовано от QAbstractItemView
  • 3 сигнала унаследовано от QWidget
  • 2 сигнала унаследовано от QObject

Защищенные функции

virtual bool dropMimeData(int row, int column, const QMimeData *data, Qt::DropAction action)
QModelIndex indexFromItem(QTableWidgetItem *item) const
QTableWidgetItem * itemFromIndex(const QModelIndex &index) const
QList<QTableWidgetItem *> items(const QMimeData *data) const
virtual QMimeData * mimeData(const QList<QTableWidgetItem *> items) const
virtual QStringList mimeTypes() const
virtual Qt::DropActions supportedDropActions() const

Переопределенные защищенные функции

virtual void dropEvent(QDropEvent *event)
virtual bool event(QEvent *e)
  • 15 защищенных функций унаследовано от QTableView
  • 37 защищенных функций унаследовано от QAbstractItemView
  • 20 защищенных функций унаследовано от QAbstractScrollArea
  • 4 защищенных функций унаследовано от QFrame
  • 35 защищенных функций унаследовано от QWidget
  • 9 защищенных функций унаследовано от QObject
  • 1 защищенная функция унаследовано от QPaintDevice

Дополнительные унаследованные члены

  • 5 статических общедоступных членов унаследовано от QWidget
  • 11 статических общедоступных членов унаследовано от QObject
  • 6 защищенных слотов унаследовано от QTableView
  • 9 защищенных слотов унаследовано от QAbstractItemView
  • 1 защищенный слот унаследовано от QWidget

Подробное описание

Класс QTableWidget предоставляет представление таблицы на основе элементов с моделью по умолчанию.

Виджеты таблицы предоставляют стандартные средства отображения таблиц для приложений. Элементы в QTableWidget предоставляются классом QTableWidgetItem.

Если вам нужна таблица, использующая вашу собственную модель данных, используйте QTableView, а не этот класс.

Виджеты таблицы можно создать с необходимым количеством строк и столбцов:

    tableWidget = new QTableWidget(12, 3, this);

В качестве альтернативы, таблицы можно создать без заданного размера и изменить размер позже:

    tableWidget = new QTableWidget(this);
    tableWidget->setRowCount(10);
    tableWidget->setColumnCount(5);

Элементы создаются вне таблицы (без родительского виджета) и вставляются в таблицу с помощью setItem():

    QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(
        (row+1)*(column+1)));
    tableWidget->setItem(row, column, newItem);

Если вы хотите включить сортировку в виджете таблицы, сделайте это после заполнения его элементами, иначе сортировка может повлиять на порядок вставки (см. setItem() для подробностей).

Таблицы могут иметь заголовки как по горизонтали, так и по вертикали. Самый простой способ создания заголовков — передать список строк функциям setHorizontalHeaderLabels() и setVerticalHeaderLabels(). Они предоставят простые текстовые заголовки для столбцов и строк таблицы. Более сложные заголовки можно создать из существующих элементов таблицы, которые обычно строятся вне таблицы. Например, мы можем создать элемент таблицы с иконкой и выровненным текстом и использовать его в качестве заголовка для определенного столбца:

    QTableWidgetItem *cubesHeaderItem = new QTableWidgetItem(tr("Cubes"));
    cubesHeaderItem->setIcon(QIcon(QPixmap(":/Images/cubed.png")));
    cubesHeaderItem->setTextAlignment(Qt::AlignVCenter);

Количество строк в таблице можно найти с помощью rowCount(), а количество столбцов с помощью columnCount(). Таблицу можно очистить с помощью функции clear().

См. также QTableWidgetItem, QTableView и Модель/Представление программирование.

Документация свойств

columnCount : int

Это свойство хранит количество столбцов в таблице

По умолчанию, для таблицы, созданной без указания количества строк и столбцов, это свойство содержит значение 0.

Функции доступа:

int columnCount() const
void setColumnCount(int columns)

rowCount : int

Это свойство хранит количество строк в таблице

По умолчанию, для таблицы, созданной без указания количества строк и столбцов, это свойство содержит значение 0.

Функции доступа:

int rowCount() const
void setRowCount(int rows)

Документация членов-функций

QTableWidget::QTableWidget(QWidget *parent = Q_NULLPTR)

Создает новый вид таблицы с заданным parent.

QTableWidget::QTableWidget(int rows, int columns, QWidget *parent = Q_NULLPTR)

Создает новый вид таблицы с заданными rows и columns, и заданным parent.

QTableWidget::~QTableWidget()

Удаляет этот QTableWidget.

[signal] void QTableWidget::cellActivated(int row, int column)

Этот сигнал подаётся, когда ячейка, заданная row и column, была активирована

Эта функция была добавлена в Qt 4.1.

[signal] void QTableWidget::cellChanged(int row, int column)

Этот сигнал подаётся всякий раз, когда данные элемента в ячейке, заданной row и column, были изменены.

Эта функция была добавлена в Qt 4.1.

[signal] void QTableWidget::cellClicked(int row, int column)

Этот сигнал подаётся всякий раз, когда ячейка в таблице нажимается. Указанные row и column — это ячейка, которая была нажата.

Эта функция была добавлена в Qt 4.1.

[signal] void QTableWidget::cellDoubleClicked(int row, int column)

Этот сигнал подаётся всякий раз, когда ячейка в таблице дважды нажимается. Указанные row и column — это ячейка, которая была дважды нажата.

Эта функция была добавлена в Qt 4.1.

[signal] void QTableWidget::cellEntered(int row, int column)

Этот сигнал подаётся, когда указатель мыши входит в ячейку. Ячейка задаётся row и column.

Этот сигнал подаётся только когда mouseTracking включён, или когда нажата кнопка мыши при перемещении в элемент.

Эта функция была добавлена в Qt 4.1.

[signal] void QTableWidget::cellPressed(int row, int column)

Этот сигнал подаётся всякий раз, когда ячейка в таблице нажимается. Указанные row и column — это ячейка, которая была нажата.

Эта функция была добавлена в Qt 4.1.

QWidget *QTableWidget::cellWidget(int row, int column) const

Возвращает виджет, отображаемый в ячейке в заданной row и column.

Примечание: Таблица принимает виджет на владение.

Эта функция была добавлена в Qt 4.1.

См. также setCellWidget().

[slot] void QTableWidget::clear()

Удаляет все элементы в представлении. Это также удалит все выделения и заголовки. Если вы не хотите удалять заголовки, используйте QTableWidget::clearContents(). Размеры таблицы остаются неизменными.

[slot] void QTableWidget::clearContents()

Удаляет все элементы, не относящиеся к заголовкам, из представления. Это также удалит все выделения. Размеры таблицы остаются неизменными.

Эта функция была добавлена в Qt 4.2.

void QTableWidget::closePersistentEditor(QTableWidgetItem *item)

Закрывает постоянный редактор для item.

См. также openPersistentEditor().

int QTableWidget::column(const QTableWidgetItem *item) const

Возвращает номер столбца для item.

int QTableWidget::columnCount() const

Возвращает количество столбцов.

Примечание: Функция-геттер для свойства columnCount.

См. также setColumnCount().

[signal] void QTableWidget::currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn)

Этот сигнал подаётся всякий раз, когда изменяется текущая ячейка. Ячейка, заданная previousRow и previousColumn — это ячейка, которая ранее имела фокус, ячейка, заданная currentRow и currentColumn — это новая текущая ячейка.

Эта функция была добавлена в Qt 4.1.

int QTableWidget::currentColumn() const

Возвращает номер столбца текущего элемента.

См. также currentRow() и setCurrentCell().

QTableWidgetItem *QTableWidget::currentItem() const

Возвращает текущий элемент.

См. также setCurrentItem().

[signal] void QTableWidget::currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)

Этот сигнал подаётся всякий раз, когда изменяется текущий элемент. Элемент previous — это элемент, который ранее имел фокус, current — это новый текущий элемент.

int QTableWidget::currentRow() const

Возвращает номер строки текущего элемента.

См. также currentColumn() и setCurrentCell().

[virtual protected] void QTableWidget::dropEvent(QDropEvent *event)

Переопределено из QWidget::dropEvent().

[virtual protected] bool QTableWidget::dropMimeData(int row, int column, const QMimeData *data, Qt::DropAction action)

Обрабатывает data, предоставленные операцией перетаскивания, которая завершилась заданным action в заданной row и column. Возвращает true если данные и действие могут быть обработаны моделью; в противном случае возвращает false.

См. также supportedDropActions().

void QTableWidget::editItem(QTableWidgetItem *item)

Начинает редактирование item, если оно разрешено.

[virtual protected] bool QTableWidget::event(QEvent *e)

Переопределено из QObject::event().

QList<QTableWidgetItem *> QTableWidget::findItems(const QString &text, Qt::MatchFlags flags) const

Ищет элементы, которые соответствуют text, используя заданные flags.

QTableWidgetItem *QTableWidget::horizontalHeaderItem(int column) const

Возвращает элемент горизонтального заголовка для столбца, column, если он был задан; в противном случае возвращает 0.

См. также setHorizontalHeaderItem().

[protected] QModelIndex QTableWidget::indexFromItem(QTableWidgetItem *item) const

Возвращает QModelIndex, связанную с заданным элементом item.

[slot] void QTableWidget::insertColumn(int column)

Вставляет пустой столбец в таблицу по индексу column.

[slot] void QTableWidget::insertRow(int row)

Вставляет пустую строку в таблицу по индексу row.

QTableWidgetItem *QTableWidget::item(int row, int column) const

Возвращает элемент для заданной строки и столбца, если он был задан; в противном случае возвращает 0.

См. также setItem().

[signal] void QTableWidget::itemActivated(QTableWidgetItem *item)

Этот сигнал подаётся, когда указанный элемент item был активирован.

QTableWidgetItem *QTableWidget::itemAt(const QPoint &point) const

Возвращает указатель на элемент в заданной точке point, или возвращает 0, если point не покрывает элемент в виджете таблицы.

См. также item().

QTableWidgetItem *QTableWidget::itemAt(int ax, int ay) const

Возвращает элемент в позиции, эквивалентной QPoint(ax, ay) в системе координат виджета таблицы, или возвращает 0, если указанная точка не покрывает элемент в виджете таблицы.

См. также item().

[signal] void QTableWidget::itemChanged(QTableWidgetItem *item)

Этот сигнал подаётся всякий раз, когда данные элемента item были изменены.

[signal] void QTableWidget::itemClicked(QTableWidgetItem *item)

Этот сигнал подаётся всякий раз, когда в таблице нажимается элемент. Указанный элемент item — это элемент, на который был нажат.

[signal] void QTableWidget::itemDoubleClicked(QTableWidgetItem *item)

Этот сигнал подаётся всякий раз, когда в таблице дважды нажимается элемент. Указанный элемент item — это элемент, на который был нажат дважды.

[signal] void QTableWidget::itemEntered(QTableWidgetItem *item)

Этот сигнал подаётся, когда указатель мыши входит в элемент. Элемент item — это вошедший элемент.

Этот сигнал подаётся только тогда, когда mouseTracking включён или когда нажата кнопка мыши при перемещении в элемент.

[protected] QTableWidgetItem *QTableWidget::itemFromIndex(const QModelIndex &index) const

Возвращает указатель на QTableWidgetItem, связанный с данным индексом index.

[signal] void QTableWidget::itemPressed(QTableWidgetItem *item)

Этот сигнал подаётся всякий раз, когда в таблице нажимается элемент. Указанный элемент item — это элемент, на который был нажат.

const QTableWidgetItem *QTableWidget::itemPrototype() const

Возвращает шаблон элемента, используемый таблицей.

См. также setItemPrototype().

[signal] void QTableWidget::itemSelectionChanged()

Этот сигнал подаётся всякий раз, когда изменяется выделение.

См. также selectedItems() и QTableWidgetItem::isSelected().

[protected] QList<QTableWidgetItem *> QTableWidget::items(const QMimeData *data) const

Возвращает список указателей на элементы, содержащиеся в объекте data. Если объект не был создан QTreeWidget в том же процессе, список пуст.

[virtual protected] QMimeData *QTableWidget::mimeData(const QList<QTableWidgetItem *> items) const

Возвращает объект, содержащий сериализованное описание указанных элементов items. Формат описания элементов получен из функции mimeTypes().

Если список элементов пустой, возвращается 0, а не сериализованный пустой список.

[virtual protected] QStringList QTableWidget::mimeTypes() const

Возвращает список MIME-типов, которые могут быть использованы для описания списка элементов виджета таблицы.

См. также mimeData().

void QTableWidget::openPersistentEditor(QTableWidgetItem *item)

Открывает редактор для данного элемента item. Редактор остаётся открытым после редактирования.

См. также closePersistentEditor().

void QTableWidget::removeCellWidget(int row, int column)

Удаляет виджет, установленный в ячейке с указанными строкой и столбцом.

Эта функция была добавлена в Qt 4.3.

[slot] void QTableWidget::removeColumn(int column)

Удаляет столбец column и все его элементы из таблицы.

[slot] void QTableWidget::removeRow(int row)

Удаляет строку row и все её элементы из таблицы.

int QTableWidget::row(const QTableWidgetItem *item) const

Возвращает номер строки для элемента item.

int QTableWidget::rowCount() const

Возвращает количество строк.

Примечание: Функция-получатель свойства rowCount.

См. также setRowCount().

[slot] void QTableWidget::scrollToItem(const QTableWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)

Прокручивает представление при необходимости, чтобы обеспечить видимость элемента item. Параметр hint более точно определяет, где должен находиться item после операции.

QList<QTableWidgetItem *> QTableWidget::selectedItems() const

Возвращает список всех выделенных элементов.

Функция возвращает список указателей на содержимое выделенных ячеек. Используйте функцию selectedIndexes(), чтобы получить полное выделение, включая пустые ячейки.

См. также selectedIndexes().

QList<QTableWidgetSelectionRange> QTableWidget::selectedRanges() const

Возвращает список всех выделенных диапазонов.

См. также QTableWidgetSelectionRange.

void QTableWidget::setCellWidget(int row, int column, QWidget *widget)

Устанавливает указанный widget для отображения в ячейке по указанной строке и столбцу, передавая владение виджетом таблице.

Если виджет ячейки A заменяется виджетом ячейки B, виджет ячейки A будет удалён. Например, в приведённом ниже фрагменте кода объект QLineEdit будет удалён.

setCellWidget(row, column, new QLineEdit);
...
setCellWidget(row, column, new QTextEdit);

Эта функция была добавлена в Qt 4.1.

См. также cellWidget().

void QTableWidget::setColumnCount(int columns)

Устанавливает количество столбцов в модели этой таблицы на columns. Если это значение меньше columnCount(), данные в ненужных столбцах будут удалены.

Примечание: Функция-установитель свойства columnCount.

См. также columnCount() и setRowCount().

void QTableWidget::setCurrentCell(int row, int column)

Устанавливает текущую ячейку в ячейку с позицией (row, column).

В зависимости от текущего режима выбора, ячейка также может быть выбрана.

Эта функция была введена в Qt 4.1.

См. также setCurrentItem(), currentRow() и currentColumn().

void QTableWidget::setCurrentCell(int row, int column, QItemSelectionModel::SelectionFlags command)

Устанавливает текущую ячейку в ячейку с позицией (row, column), используя указанное значение command.

Эта функция была введена в Qt 4.4.

См. также setCurrentItem(), currentRow() и currentColumn().

void QTableWidget::setCurrentItem(QTableWidgetItem *item)

Устанавливает текущий элемент в item.

Если режим выбора не NoSelection, элемент также выбирается.

См. также currentItem() и setCurrentCell().

void QTableWidget::setCurrentItem(QTableWidgetItem *item, QItemSelectionModel::SelectionFlags command)

Устанавливает текущий элемент в item, используя указанное значение command.

Эта функция была введена в Qt 4.4.

См. также currentItem() и setCurrentCell().

void QTableWidget::setHorizontalHeaderItem(int column, QTableWidgetItem *item)

Устанавливает элемент горизонтаной шапки для столбца column в item. При необходимости, количество столбцов увеличивается для размещения элемента. Предыдущий элемент заголовка (если он был) удаляется.

См. также horizontalHeaderItem().

void QTableWidget::setHorizontalHeaderLabels(const QStringList &labels)

Устанавливает метки горизонтальной шапки, используя labels.

void QTableWidget::setItem(int row, int column, QTableWidgetItem *item)

Устанавливает элемент для заданной строки row и столбца column в item.

Таблица принимает во владение элемент.

Обратите внимание, что если сортировка включена (см. sortingEnabled) и column является текущим столбцом сортировки, строка row будет перемещена в отсортированное положение, определяемое item.

Если вам нужно установить несколько элементов в конкретной строке (например, вызывая setItem() в цикле), вы можете отключить сортировку перед этим и включить её обратно; это позволит вам использовать тот же аргумент row для всех элементов в одной строке (т.е. setItem() не будет перемещать строку).

См. также item() и takeItem().

void QTableWidget::setItemPrototype(const QTableWidgetItem *item)

Устанавливает прототип элемента для таблицы в указанный item.

Компонент таблицы будет использовать функцию клонирования прототипа элемента при необходимости создания нового элемента таблицы. Например, когда пользователь редактирует пустую ячейку. Это полезно, когда у вас есть подкласс QTableWidgetItem и вы хотите убедиться, что QTableWidget создаёт экземпляры вашего подкласса.

Таблица принимает во владение прототип.

См. также itemPrototype().

void QTableWidget::setRangeSelected(const QTableWidgetSelectionRange &range, bool select)

Выбирает или отменяет выбор диапазона range в зависимости от select.

void QTableWidget::setRowCount(int rows)

Устанавливает количество строк в модели этой таблицы в rows. Если это значение меньше rowCount(), данные в нежелательных строках удаляются.

Примечание: Функция-сеттер для свойства rowCount.

См. также rowCount() и setColumnCount().

void QTableWidget::setVerticalHeaderItem(int row, QTableWidgetItem *item)

Устанавливает элемент вертикальной шапки для строки row в item.

См. также verticalHeaderItem().

void QTableWidget::setVerticalHeaderLabels(const QStringList &labels)

Устанавливает метки вертикальной шапки, используя labels.

void QTableWidget::sortItems(int column, Qt::SortOrder order = Qt::AscendingOrder)

Сортирует все строки в виджете таблицы на основе column и order.

Qt::DropActions QTableWidget::supportedDropActions() const

Возвращает действия перетаскивания, поддерживаемые этим видом.

См. также Qt::DropActions.

QTableWidgetItem *QTableWidget::takeHorizontalHeaderItem(int column)

Удаляет элемент горизонтальной шапки по столбцу column из заголовка без его удаления.

Эта функция была введена в Qt 4.1.

QTableWidgetItem *QTableWidget::takeItem(int row, int column)

Удаляет элемент по row и column из таблицы без его удаления.

QTableWidgetItem *QTableWidget::takeVerticalHeaderItem(int row)

Удаляет элемент вертикальной шапки по строке row из заголовка без его удаления.

Эта функция была введена в Qt 4.1.

QTableWidgetItem *QTableWidget::verticalHeaderItem(int row) const

Возвращает элемент вертикальной шапки для строки row.

См. также setVerticalHeaderItem().

int QTableWidget::visualColumn(int logicalColumn) const

Возвращает визуальный столбец заданного logicalColumn.

QRect QTableWidget::visualItemRect(const QTableWidgetItem *item) const

Возвращает прямоугольник на области просмотра, занимаемый элементом в item.

int QTableWidget::visualRow(int logicalRow) const

Возвращает визуальную строку заданной logicalRow.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qtablewidget.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API