PyQT5 (四十七) 在 QTableWidget 表格中设置单元格大小 的案例

在 QTableWidget 表格中设置单元格大小 的案例
setRowHeight(0,80)# 设置第一行的高度
setColumnWidth(2,190) # 设置第三列的列宽

import sys

from PyQt5 import QtPrintSupport, QtGui
from PyQt5.QtCore import Qt, QMimeData, QDate, QDateTime, QTime, QStringListModel
from PyQt5.QtGui import QIcon, QPainter, QBrush, QPixmap, QStandardItemModel, QStandardItem, QColor, QFont
from PyQt5.QtPrintSupport import QPageSetupDialog, QPrinter, QPrintDialog
from PyQt5.QtWidgets import QApplication, QWidget, QComboBox, QFormLayout, QLabel, QLineEdit, QPushButton, QGridLayout, \
    QCalendarWidget, QVBoxLayout, QDateTimeEdit, QAction, QMainWindow, QTextEdit, QStatusBar, QFileDialog, QDialog, \
    QTableView, QMessageBox, QListView, QListWidget, QHBoxLayout, QTableWidget, QTableWidgetItem, QAbstractItemView

'''
在 QTableWidget 表格中设置单元格大小 的案例
setRowHeight(0,80)# 设置第一行的高度
setColumnWidth(2,190) # 设置第三列的列宽
'''

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

    def initUI(self):
        # 设置定位和左上角坐标
        self.setGeometry(300, 300, 460, 360)
        # 设置窗口标题
        self.setWindowTitle('QTableWidget扩展表格的设置单元格大小 的演示')
        # 设置窗口图标
        # self.setWindowIcon(QIcon('../web.ico'))

        layout = QVBoxLayout()
        self.tablewidget = QTableWidget()
        self.tablewidget.setRowCount(4)
        self.tablewidget.setColumnCount(3)

        layout.addWidget(self.tablewidget)
        self.tablewidget.setHorizontalHeaderLabels(['姓名','性别','体重(kg)'])

        # 设置第一行的高度
        self.tablewidget.setRowHeight(0, 50)
        # 设置第三列的列宽
        self.tablewidget.setColumnWidth(2,190)

        newItem = QTableWidgetItem('玉皇大帝')
        self.tablewidget.setItem(0,0,newItem)

        newItem = QTableWidgetItem('男')
        self.tablewidget.setItem(0,1,newItem)

        newItem = QTableWidgetItem('180')
        self.tablewidget.setItem(0,2,newItem)


        self.setLayout(layout)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    # 设置应用图标
    app.setWindowIcon(QIcon('../web.ico'))
    w = SpanDemo()
    w.show()
    sys.exit(app.exec_())

 

PyQt5,要在QTableWidget的第一列单元格内添加复选框,你可以这样做: 首先,你需要导入所需的模块: ```python from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTableWidget, QTableWidgetItem, QPushButton from PyQt5.QtCore import Qt ``` 然后,在`QWidget`的布局创建一个QTableWidget,并设置它有表头和合适的列数,其第一列用于放置复选框: ```python class YourWidget(QWidget): def __init__(self): super().__init__() self.init_ui() def init_ui(self): self.table = QTableWidget() self.table.setColumnCount(2) # 两列,一列是数据,一列是复选框 self.table.setHorizontalHeaderLabels(['Data', 'Checkbox']) # 设置表头 for i in range(self.table.columnCount()): item = QTableWidgetItem() # 初始化单元格 if i == 0: # 第一列作为文本列,第二列作为复选框列 item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) else: checkbox = QTableWidgetItem('', checkState=Qt.Unchecked) checkbox.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsSelectable) self.table.setItem(i, 0, item) self.table.setCellWidget(i, 1, checkbox) layout = QVBoxLayout() layout.addWidget(self.table) self.setLayout(layout) ``` 最后,记得实例化并显示这个窗口: ```python if __name__ == '__main__': app = QApplication([]) widget = YourWidget() widget.show() app.exec_() ``` 在这个例子,每一行的第二列(索引为1)都会有一个复选框。用户可以点击这些复选框选择或取消选择对应的行。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值