13.5 QTableWidget單元格添加控件與單元格設置


一、QTableWidget單元格添加控件與單元格設置

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.效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM