1.基本概念
- 學習QTableWidget單元格添加控件與單元格設置,內容包含對QTableWidget單元格的設置、文本內容的設置和圖片的插入等內容。
2.代碼
點擊查看代碼
from PyQt5.Qt import *
import sys
class Window(QWidget) :
def __init__(self) :
super().__init__()
self.setWindowTitle("高級控件-QTableWidget單元格添加控件與單元格設置 - PyQt5中文網")
self.resize(600, 500)
self.func_list()
def func_list(self) :
self.func()
def func(self) :
# 1.創建QTableWidget
tablewidget = QTableWidget()
tablewidget.setRowCount(4)
tablewidget.setColumnCount(5)
# 2.數據源
tablewidget.setHorizontalHeaderLabels(['序號', '姓名', '性別'])
# 3.插入數據
item1 = QTableWidgetItem('張三')
tablewidget.setItem(0, 1, item1)
item2 = QTableWidgetItem('李四')
tablewidget.setItem(1, 1, item2)
item3 = QTableWidgetItem('趙武')
tablewidget.setItem(2, 1, item3)
item4 = QTableWidgetItem('王六')
tablewidget.setItem(3, 1, item4)
# 4.放一個控件在單元格中
box1 = QComboBox()
box1.addItem('男')
box1.addItem('女')
tablewidget.setCellWidget(0, 2, box1)
# 5.搜索數據
text = '張三'
from PyQt5 import QtCore
items = tablewidget.findItems(text, QtCore.Qt.MatchExactly)
if len(items) > 0 :
item = items[0]
item.setBackground(QBrush(QColor('green'))) # 設置顏色
# item.setForeground(QBrush(QColor('green'))) # 設置顏色
item.setFont(QFont('站酷酷黑', 10, QFont.Black)) #設置字體
item.setTextAlignment(Qt.AlignRight | Qt.AlignBottom) # 設置文本對齊方式
# 6.合並表格
# # tablewidget.setSpan(0, 0, 2, 1) # 第一行,第一列,合並2行,合並1列
# tablewidget.setSpan(1, 0, 1, 2)
# 7.設置單元格尺寸
# # tablewidget.setRowHeight(1, 60) # 第二行高度60
# # tablewidget.setColumnWidth(0, 200) # 第1行寬度200
#
# 8.圖文混排和圖片尺寸
item5 = QTableWidgetItem(QIcon('aaa.png'), 'PyQt5')
tablewidget.setItem(0, 3, item5)
# tablewidget.setIconSize(QSize(200, 200)) # 設置圖片尺寸
# 8.1 插入圖片
item6 = QTableWidgetItem()
item6.setIcon(QIcon('y.png'))
tablewidget.setItem(0, 4, item6)
# 9.展示列表
layout = QHBoxLayout()
layout.addWidget(tablewidget)
self.setLayout(layout)
if __name__ == '__main__' :
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
3.效果
