4.将数据通过QTableWidgetItem对象放入第row行和第col列的单元格里面。这里行和列都是从0开始的。
setROwCount(int row)
|
设置QTableWidget表格控件的行数
|
setColumnCount(int col)
|
设置QTableWidget表格控件的列数
|
setHorizontalHeaderLabels()
|
设置QTableWidget表格控件的水平标签
|
setVerticalHeaderLabels()
|
设置QTableWidget表格控件的垂直标签
|
setItem(int ,int ,QTableWidgetItem)
|
在QTableWidget表格控件的每个选项的单元控件内添加控件
|
horizontalHeader()
|
获得QTableWidget表格控件的表格头,以便执行隐藏
|
rowCount()
|
获得QTableWidget表格控件的行数
|
columnCount()
|
获得QTableWidget表格控件的列数
|
setEditTriggers(EditTriggers triggers)
|
设置表格是否可以编辑,设置表格的枚举值
|
setSelectionBehavior
|
设置表格的选择行为
|
setTextAlignment()
|
设置单元格内文本的对齐方式
|
setSpan(int row,int column,int rowSpanCount,int columnSpanCount)
|
合并单元格,要改变单元格的第row行,column列,要合并rowSpancount行数和columnSpanCount列数。其中row表示要改变的行数, column表示要改变的列数,rowSpanCount表示需要合并的行数,columnSpanCount表示需要合并的列数。
|
setShowGrid()
|
在默认情况下表格的显示是有网格的,可以设置True或False用于是否显示,默认True
|
setColumnWidth(int column,int width)
|
设置单元格行的宽度
|
setRowHeight(int row,int height)
|
设置单元格列的高度
|
#创建qtablewidget对象
self.tableWidget = QtWidgets.QTableWidget(widget)
#设置表格行数,列数
self.tableWidget.setColumnCount(4) #列
self.tableWidget.setRowCount(3) #行
#设置列标题、行标题
self.tableWidget.setHorizontalHeaderLabels(['id','name']) #列
self.tableWidget.setVerticalHeaderLabels(['1','2']) #行
#表格横向可伸缩
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
#表格只读,用户双击不可编辑
self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
#表格加载内容
for i in range(len(items)):
item = items[i]
ow = self.tableWidget.rowCount()
self.tableWidget.insertRow(row)
for j in range(len(item)):
item = QTableWidgetItem(str(items[i][j]))
self.tableWidget.setItem(row,j,item)
#表格标题字体加粗
font = self.tableWidget.horizontalHeader().font()
font.setBold(True)
self.tableWidget.horizontalHeader().setFont(font)
#设置单元格字体颜色和背景颜色
for i in range(len(items)):
each_item = items[i]
row = self.tableWidget.rowCount()
self.tableWidget.insertRow(row)
for j in range(len(each_item)):
item = QTableWidgetItem(str(items[i][j]))
if j != len(each_item) -1:
item.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
item.setForeground(QBrush(QColor(255,0,0))) #设置除最后一列外的文字颜色为红色
else:
item.setBackground(QBrush(QColor(0,255,0))) #设置最后一列的背景色为绿色
self.tableWidget.setItem(row,j,item)
参考链接:
[ PyQt入门教程 ] PyQt5中数据表格控件QTableWidget使用方法 - 锅边糊 - 博客园 (cnblogs.com)
QTableWidget是qt和pyqt程序中常用的显示数据表格的控件。用法:1.创建QTableWidget对象,然后设置列数和行数。2.设置每一列标题。3.添加数据项addItem()函数。4.将数据通过QTableWidgetItem对象放入第row行和第col列的单元格里面。这里行和列都是从0开始的。常用函数setROwCount(int row) 设置QTableWidget表格控件的行数 setColumnCount(int col) ...
这几天用
QTableWidget
用得很多,查了很多资料,发现大多数都不是很全,有时候查资料查得很辛苦;另一方面,以防以后自己忘了这些知识,所以在这里就把我所接触到的,所看到的都归纳在这里。
首先
QTableWidget
是继承于
QT
ableView,
QTableWidget
是
QT
程序中常用的显示
数据表
格的空间;它跟
QT
ableView的主要区别是
QT
ableView可以使用自定义的
数据
模型来显示内容...
除了从父类继承的属性外,在Designer中
QTableWidget
只有两个属性,就是行数rowCount和列数columnCount,另外还有一部分就是用于设置表头的属性。如图:
2、行数rowCount
QTableWidget
的rowCount属性保存
表格
部件中的行数,在
QT
a...
```
python
from openpyxl import load_workbook
from
PyQt
5.
Qt
Widgets import
QTableWidget
,
QTableWidget
Item, QApplication
3. 加载Excel文件并读取
数据
。
```
python
wb = load_workbook('example.xlsx')
ws = wb.active
data = []
for row in ws.iter_rows(min_row=1, max_col=3, max_row=10):
row_data = []
for cell in row:
row_data.append(cell.value)
data.append(row_data)
4. 创建一个
Qt
表格
小部件,并将
数据
添加到
表格
中。
```
python
app = QApplication([])
table =
QTableWidget
()
table.setRowCount(len(data))
table.setColumnCount(len(data[0]))
for i, row_data in enumerate(data):
for j, cell_data in enumerate(row_data):
cell =
QTableWidget
Item(str(cell_data))
table.setItem(i, j, cell)
table.show()
app.exec_()
这将显示Excel
表格
中的前10行和前3列的
数据
,并将其显示在一个
Qt
表格
小部件中。您可以根据需要更改行和列的最大值。
蒲厷英の约定: