#-*- coding:utf-8 -*- ####### table 使用 from PyQt4.QtCore import * from PyQt4.QtGui import * import sys class MyWindow(QDialog,QWidget): def __init__(self,parent = None): super(MyWindow,self).__init__(parent) self.resize(400,400) self.mainlayout = QGridLayout(self) self.myTable = QTableWidget() self.mainlayout.addWidget(self.myTable) self.tableSetting() def tableSetting(self): self.myTable.setRowCount(3)########设置table的行数 self.myTable.setColumnCount(2) #######设置table列数 self.myTable.setColumnWidth(0,60)####设置第一列的宽度 self.myTable.setHorizontalHeaderLabels([u" 数字 ",u" 文字 "]) ######设置标题栏 self.myTable.resizeColumnToContents(0) #####第一列根据标题自适应 self.myTable.setColumnWidth(1,180)######设置第二列长度为180 self.myTable.setSelectionBehavior(QAbstractItemView.SelectRows) ###设置一次选中一行 self.myTable.setEditTriggers(QAbstractItemView.NoEditTriggers) ###设置表格禁止编辑 self.myTable.connect(self.myTable,SIGNAL("itemClicked (QTableWidgetItem*)"),self.selectFileOpra) #########设置表格内容 self.setTableContext() def setTableContext(self,color_row = 0): ctrlListCheckBox = [i for i in xrange(3)] for i in xrange(3): self.setRowData(i,ctrlListCheckBox,color_row) def setRowData(self,row,ctrl,color_row): ########table中添加文字 nameItem = QTableWidgetItem("item"+str(row)) #nameItem.setBackgroundColor(Qt.red)######设置名字这一栏为红色 ########table中添加图片,线添加label控件 再添加图片 import random textItem = QTableWidgetItem("a random number:"+str(random.randint(0,1000))) if row == color_row: nameItem.setBackgroundColor(Qt.green) textItem.setBackgroundColor(Qt.green)######选中颜色显示 self.myTable.setItem(row,0,nameItem) self.myTable.setItem(row,1,textItem) def selectFileOpra(self,Item = None): if Item == None: return s = Item.text() print s row = self.myTable.currentRow() self.setTableContext(row) #Item.setBackgroundColor(Qt.red) app=QApplication(sys.argv) window=MyWindow() window.show() app.exec_()
pyqt4 table 设置选中行的颜色
最新推荐文章于 2023-04-04 16:17:30 发布