python表格控件有哪些_[Pyqt5.5 for Python3.4.3 学习笔记]-->QTableWidget表格控件的使用方法...

# -*- coding: utf-8 -*-

from PyQt5.QtWidgets import *

from PyQt5.QtGui import *

import sys

class myDialog(QDialog):

"""docstring for myDialog"""

def __init__(self, arg=None):

super(myDialog, self).__init__(arg)

self.setWindowTitle("first window")

self.resize(500,300);

conLayout = QHBoxLayout()

tableWidget=QTableWidget()

tableWidget.setRowCount(5)

tableWidget.setColumnCount(4)

conLayout.addWidget(tableWidget)

for i in range(5):

for j in range(4):

tableWidget.setItem(i,j, QTableWidgetItem(self.tr(str(i)+str(j))))

self.setLayout(conLayout)

app = QApplication(sys.argv)

dlg = myDialog()

dlg.show()

dlg.exec_()

app.exit()

效果图如下:

设置表格头tableWidget.setHorizontalHeaderLabels(['a','b','a','b'])

tableWidget.setVerticalHeaderLabels(['va','vb','vc','vd','ve'])

上面代码要记得放在下面代码之后否则是没有效果的tableWidget.setRowCount(5)

tableWidget.setColumnCount(4)

运行效果如图:

单元格里面还可以放控件如下代码:# -*- coding: utf-8 -*-

from PyQt5.QtWidgets import *

from PyQt5.QtGui import *

import sys

class myDialog(QDialog):

"""docstring for myDialog"""

def __init__(self, arg=None):

super(myDialog, self).__init__(arg)

self.setWindowTitle("first window")

self.resize(500,300);

conLayout = QHBoxLayout()

tableWidget=QTableWidget()

tableWidget.setRowCount(5)

tableWidget.setColumnCount(4)

tableWidget.setHorizontalHeaderLabels(['a','b','a','b'])

tableWidget.setVerticalHeaderLabels(['va','vb','vc','vd','ve'])

conLayout.addWidget(tableWidget)

for i in range(5):

for j in range(4):

#可以在单元格中加入控件

comBox = QComboBox();

comBox.addItem("Y");

comBox.addItem("N");

tableWidget.setCellWidget(i,j,comBox);

self.setLayout(conLayout)

app = QApplication(sys.argv)

#全局设置QPushButton的背景样式

dlg = myDialog()

dlg.show()

dlg.exec_()

app.exit()

运行效果如下:

单元格默认是可以编辑的下面代码可以设置为只读tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers);

单元格默认是可以选中单个单元格,下面代码可以设置成选中一行tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows);

隐藏列表头#隐藏列表头

tableWidget.verticalHeader().setVisible(False);

#隐藏行表头

tableWidget.horizontalHeader().setVisible(False);

还可以将行和列的大小设为与内容相匹配tableWidget.resizeColumnsToContents();

tableWidget.resizeRowsToContents();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值