【Qt5.8】Qt5.8中QTableWidget 类介绍
00. 目錄
- 00. 目錄
- 01. QTableWidget介紹
- 02. 成員函數(shù)簡介
01. QTableWidget介紹
QTableWidget是基于QTableView的一個(gè)默認(rèn)的視圖模型;它用于顯示一個(gè)標(biāo)準(zhǔn)的表格。表格中每一個(gè)項(xiàng)通過QTableWidgetItem來實(shí)現(xiàn)。
頭文件:#include
qmake:QT += widgets
繼承自:QTableView
如果你想要一個(gè)使用你自己的數(shù)據(jù)模型的表,你應(yīng)該使用QTableView而不是這個(gè)類。
可以使用指定的行數(shù)和列數(shù)構(gòu)造一個(gè)QTableWidget對(duì)象。
tableWidget = new QTableWidget(12, 3, this);
或者可以先構(gòu)造一個(gè)QTableWidget對(duì)象,然后指定其行數(shù)和列數(shù)。
tableWidget = new QTableWidget(this);tableWidget->setRowCount(10);tableWidget->setColumnCount(5);表格中的每一個(gè)項(xiàng)可以在表格之外創(chuàng)建,沒有父對(duì)象,然后使用setItem()插入到表格中。
QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg((row+1)*(column+1)));tableWidget->setItem(row, column, newItem);我們可以構(gòu)造一個(gè)帶有圖標(biāo)和對(duì)齊文本的表項(xiàng),并將其用作特定列的標(biāo)題
QTableWidgetItem *cubesHeaderItem = new QTableWidgetItem(tr("Cubes"));cubesHeaderItem->setIcon(QIcon(QPixmap(":/Images/cubed.png")));cubesHeaderItem->setTextAlignment(Qt::AlignVCenter);02. 成員函數(shù)簡介
1、默認(rèn)構(gòu)造函數(shù)
QTableWidget::QTableWidget(QWidget * parent = 0)
2、使用給定的行數(shù)rows和列數(shù)columns,構(gòu)造表格
QTableWidget::QTableWidget(int rows,int columns, QWidget * parent = 0)
3、析構(gòu)函數(shù)
QTableWidget::~QTableWidget()
4、當(dāng)位于第row行第column列的單元格被激活時(shí),觸發(fā)該信號(hào)。如果該單元格可以編輯則不觸發(fā)。
void QTableWidget::cellActivated(int row,int column) [signal] 信號(hào)函數(shù)
5、當(dāng)位于第row行第column列的單元格中的數(shù)據(jù)發(fā)生變化時(shí),觸發(fā)該信號(hào)
void QTableWidget::cellChanged(int row,int column)[signal] 信號(hào)函數(shù)
6、當(dāng)位于第row行第column列的單元格被點(diǎn)擊時(shí),觸發(fā)該信號(hào)。
void QTableWidget::cellClicked(int row,int column)[signal] 信號(hào)函數(shù)
7、當(dāng)位于第row行第column列的單元格被雙擊時(shí),觸發(fā)該信號(hào)。
void QTableWidget::cellDoubleClicked(int row,int column)[signal] 信號(hào)函數(shù)
8、當(dāng)位于第row行第column列的單元格獲取鼠標(biāo)光標(biāo)時(shí),觸發(fā)該信號(hào)。需要設(shè)置表格setMouseTracking(true),默認(rèn)是false
void QTableWidget::cellEntered(int row,int column)[signal] 信號(hào)函數(shù)
9、當(dāng)位于第row行第column列的單元格被按下時(shí),觸發(fā)該信號(hào)。
void QTableWidget::cellPressed(int row,int column)[signal] 信號(hào)函數(shù)
10、返回位于第row行第column列的單元格中窗口部件。
QWidget * QTableWidget::cellWidget(int row,int column) const
11、刪除表格中所有的項(xiàng)(QTableWidgetItem),但是表格還在。
void QTableWidget::clear() [slot]槽函數(shù)
12、刪除表格中所有的項(xiàng)(QTableWidgetItem),不包括表頭中的,但是表格還在
void QTableWidget::clearContents() [slot]槽函數(shù)
13、關(guān)閉指定item的可編輯狀態(tài)
void QTableWidget::closePersistentEditor(QTableWidgetItem * item)
14、返回指定item在第幾列。
int QTableWidget::column(constQTableWidgetItem * item) const
15、 當(dāng)單元格的焦點(diǎn)變化時(shí),發(fā)射該信號(hào)。currentRow當(dāng)前行currentColumn當(dāng)前列;int previousRow之前的行 int previousColumn之前的列
void QTableWidget::currentCellChanged(int currentRow,int currentColumn, int previousRow,int previousColumn) [signal] 信號(hào)函數(shù)
16、返回當(dāng)前單元格在第幾列
int QTableWidget::currentColumn() const
17、 返回當(dāng)前的單元格中的item
QTableWidgetItem * QTableWidget::currentItem() const
18、當(dāng)單元格的焦點(diǎn)變化時(shí),發(fā)射該信號(hào)。current當(dāng)前的項(xiàng)item;previous之前的項(xiàng)item
void QTableWidget::currentItemChanged(QTableWidgetItem * current,QTableWidgetItem * previous)[signal] 信號(hào)函數(shù)
19、返回當(dāng)前單元格在第幾行。
int QTableWidget::currentRow() const
20、當(dāng)向該表格中拖放時(shí),觸發(fā)該事件
void QTableWidget::dropEvent(QDropEvent * event) [virtual protected]
21、如果指定的單元格能處理拖放中的數(shù)據(jù),則返回真,否則返回假
bool QTableWidget::dropMimeData(int row,int column, const QMimeData * data,Qt::DropAction action)[virtual protected]
22、如果item能編輯,開始編輯該項(xiàng)。
void QTableWidget::editItem(QTableWidgetItem * item)
23、返回匹配text的項(xiàng)的列表。
QList<QTableWidgetItem *> QTableWidget::findItems(constQString & text, Qt::MatchFlags flags) const24、返回第column列的表頭項(xiàng),如果沒有則返回0。
QTableWidgetItem * QTableWidget::horizontalHeaderItem(int column) const
25、返回指定item的QModelIndex(QAbstractItemModel的引索)
QModelIndex QTableWidget::indexFromItem(QTableWidgetItem * item) const [protected]
26、在第column列插入一個(gè)空列。
void QTableWidget::insertColumn(int column)
27、 在第row行插入一個(gè)空行。
void QTableWidget::insertRow(int row)
28、 返回在第row行第column列的項(xiàng),如果不存在返回0。
QTableWidgetItem * QTableWidget::item(int row,int column) const
29、 項(xiàng)被激活,發(fā)射信號(hào)。
void QTableWidget::itemActivated(QTableWidgetItem * item)[signal] 信號(hào)函數(shù)
30、返回指定坐標(biāo)point處的項(xiàng),如果該坐標(biāo)處沒有項(xiàng)則返回0。該坐標(biāo)相對(duì)于表格窗口。
QTableWidgetItem * QTableWidget::itemAt(constQPoint & point) const
31、同上。QPoint(x,y)
QTableWidgetItem * QTableWidget::itemAt(int ax,int ay) const
32、 當(dāng)item的數(shù)值發(fā)生改變時(shí),觸發(fā)該信號(hào)
void QTableWidget::itemChanged(QTableWidgetItem * item)[signal] 信號(hào)函數(shù)
33、當(dāng)item被點(diǎn)擊時(shí),觸發(fā)該信號(hào)
void QTableWidget::itemClicked(QTableWidgetItem * item)[signal] 信號(hào)函數(shù)
34、當(dāng)item被雙擊時(shí),觸發(fā)該信號(hào)
void QTableWidget::itemDoubleClicked(QTableWidgetItem * item)[signal] 信號(hào)函數(shù)
35、當(dāng)編輯item時(shí)(獲取鼠標(biāo))時(shí),觸發(fā)該信號(hào)。需要設(shè)置表格setMouseTracking(true),默認(rèn)是false
void QTableWidget::itemEntered(QTableWidgetItem * item)
36、 返回給定index的項(xiàng),QModelIndex指向數(shù)據(jù)?
QTableWidgetItem * QTableWidget::itemFromIndex(constQModelIndex & index) const [protected]
37、當(dāng)item被按下時(shí),觸發(fā)該信號(hào)
void QTableWidget::itemPressed(QTableWidgetItem * item)[signal] 信號(hào)函數(shù)
38、返回項(xiàng)的原型,通常用于克隆項(xiàng)
const QTableWidgetItem * QTableWidget::itemPrototype() const
39、當(dāng)被選中的item發(fā)生改變時(shí),觸發(fā)該信號(hào)。
void QTableWidget::itemSelectionChanged()[signal] 信號(hào)函數(shù)
40、返回包含MIME data數(shù)據(jù)所有的項(xiàng)。
QList<QTableWidgetItem *> QTableWidget::items(constQMimeData * data) const [protected]41、返回項(xiàng)列表中MIME數(shù)據(jù)的容器
QMimeData * QTableWidget::mimeData(constQList<QTableWidgetItem *> items) const[protected]42、 返回表格中所有項(xiàng)的一個(gè)MIME數(shù)據(jù)
QStringList QTableWidget::mimeTypes() const[protected
43、 開始編輯item
void QTableWidget::openPersistentEditor(QTableWidgetItem * item)
44、 刪除第row行第column列的窗口部件
void QTableWidget::removeCellWidget(int row,int column)
45、 刪除第column列
void QTableWidget::removeColumn(int column)[slot]
46、刪除第row行
void QTableWidget::removeRow(int row)[slot]
47、返回指定item所在的行數(shù)
int QTableWidget::row(constQTableWidgetItem * item) const[slot]
48、指定的item比較突顯出來,方便辨認(rèn)。
void QTableWidget::scrollToItem(constQTableWidgetItem * item, QAbstractItemView::ScrollHint hint = EnsureVisible)[slot]
49、返回選中的項(xiàng)的列表
QList<QTableWidgetItem *> QTableWidget::selectedItems()50、返回選擇范圍
QList<QTableWidgetSelectionRange> QTableWidget::selectedRanges() const51、將widget窗口部件放到第row行第column列。
void QTableWidget::setCellWidget(int row,int column, QWidget * widget)
52、將位于第row行第column列的項(xiàng)設(shè)置為當(dāng)前項(xiàng)(獲取焦點(diǎn))
void QTableWidget::setCurrentCell(int row,int column)
53、設(shè)置指定的item為當(dāng)前項(xiàng)
void QTableWidget::setCurrentItem(QTableWidgetItem * item)
54、將第column列的水平表頭項(xiàng)設(shè)為item
void QTableWidget::setHorizontalHeaderItem(int column,QTableWidgetItem * item)
55、 使用一組標(biāo)簽設(shè)置水平表頭
void QTableWidget::setHorizontalHeaderLabels(constQStringList & labels)
56、設(shè)置第row行第column列的項(xiàng);注意如果使能排序,行位置會(huì)變化
void QTableWidget::setItem(int row,int column, QTableWidgetItem * item)
57、通過item設(shè)置表的標(biāo)準(zhǔn)項(xiàng)模型。
void QTableWidget::setItemPrototype(constQTableWidgetItem * item)
58、選擇或取消范圍
void QTableWidget::setRangeSelected(constQTableWidgetSelectionRange & range, bool select)
59、設(shè)置第row行的垂直表頭的項(xiàng)
void QTableWidget::setVerticalHeaderItem(int row,QTableWidgetItem * item)
60、 通過一組標(biāo)簽設(shè)置垂直表頭
void QTableWidget::setVerticalHeaderLabels(constQStringList & labels)
61、根據(jù)規(guī)則order設(shè)置第column列的所有行
void QTableWidget::sortItems(int column,Qt::SortOrder order = Qt::AscendingOrder)
62、 返回該表支持的所有拖放操作
Qt::DropActions QTableWidget::supportedDropActions() const
63、 將項(xiàng)從第column列的水平表頭中去除,但不刪除它(不delete item)。
QTableWidgetItem * QTableWidget::takeHorizontalHeaderItem(int column)
64、將項(xiàng)從第row行第column列去除,但不刪除它
QTableWidgetItem * QTableWidget::takeItem(int row,int column)
65、返回垂直表頭中第row行的項(xiàng)
QTableWidgetItem * QTableWidget::verticalHeaderItem(int row) const
66、返回給定邏輯列的可視列。
int QTableWidget::visualColumn(int logicalColumn) const
67、返回item所占的單元格的位置和大小
QRect QTableWidget::visualItemRect(constQTableWidgetItem * item) const
68、返回給定邏輯行的可視行。
int QTableWidget::visualRow(int logicalRow) const
總結(jié)
以上是生活随笔為你收集整理的【Qt5.8】Qt5.8中QTableWidget 类介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Qt5.8】Qt5.8中串口类QSer
- 下一篇: 【Tools】Visual Studio