首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PyQT - QTableWidget中的群细胞

PyQT - QTableWidget中的群细胞
EN

Stack Overflow用户
提问于 2018-08-27 09:08:44
回答 1查看 6.3K关注 0票数 2

我正在搜索如何在QTableWidget中创建像HTML这样的标题,如下所示:

我可以在QTextEdit (带有单元格中的图像的HTML)中这样做,但是我需要这样的自定义单元格:

因此,QTextEdit不适合这样做。这是可能的吗?如果有,我如何创建它?也许不是QTableWidget,我只是需要带有自定义单元格和自定义头的可编辑表。

我所看到的只是插入一个大标题图像并根据该图像设置所有列,但是如何创建一个包含一个单元格的行呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-27 10:09:22

QTableView.setSpan(行、列、rowSpan、columnSpan) 参数: 行- PySide.QtCore.int 列- PySide.QtCore.int rowSpan - PySide.QtCore.int columnSpan - PySide.QtCore.int将表元素的跨度设置为(rowSpanCount,columnSpanCount )指定的行数和列数。

代码语言:javascript
运行
复制
import sys
from PyQt5.QtWidgets import (QWidget, QTableWidget, QHBoxLayout, QApplication, QTableWidgetItem )
from PyQt5.QtGui     import QBrush, QColor #,  QFont 

class Table(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("QTableWidget - Example of a cell merge")
        self.resize(660,300 );
        conLayout = QHBoxLayout()

        tableWidget = QTableWidget()
        tableWidget.setRowCount(7)
        tableWidget.setColumnCount(6)
        conLayout.addWidget(tableWidget)

        # Hide headers
        tableWidget.horizontalHeader().setVisible(False)
        tableWidget.verticalHeader().setVisible(False)

        #tableWidget.setHorizontalHeaderLabels(['Column1','Column1','Column1'])  

        # Sets the span of the table element at (row , column ) to the number of rows 
        # and columns specified by (rowSpanCount , columnSpanCount ).
        tableWidget.setSpan(0, 0, 1, 6) 
        newItem = QTableWidgetItem("tableWidget.setSpan(0, 0, 1, 6)")  
        tableWidget.setItem(0, 0, newItem) 

        tableWidget.setSpan(3, 0, 3, 1)   
        newItem = QTableWidgetItem("tableWidget.setSpan(3, 0, 3, 1)")  
        tableWidget.setItem(3, 0, newItem)  

        newItem = QTableWidgetItem("Hello")  
        newItem.setForeground(QBrush(QColor(0, 255, 0)))
        tableWidget.setItem(3, 1, newItem)  

        newItem = QTableWidgetItem("pythoff") 
        newItem.setForeground(QBrush(QColor(255, 0, 0)))        
        tableWidget.setItem(3, 2, newItem)   

        self.setLayout(conLayout)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    example = Table()  
    example.show()   
    sys.exit(app.exec_())

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52035966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档