PYQT5表格及样式设置方法 |
您所在的位置:网站首页 › qtablewidget网格线粗细 › PYQT5表格及样式设置方法 |
PYQT5遇到的问题和解决
1.给table添加样式table透明度设置构造一个含图片的label,再用setCellWidget把label插入单元格
1.给table添加样式
1.qApp.setStyleSheet("*{font-size:16px}"),设置全局的字体,qApp为全局变量 #选中单元格颜色 tab.setStyleSheet(“selection-background-color:rgb(203,235,246)”) 单元格字体颜色 textFont = QFont("song", 8, QFont.Bold) textFont = QFont("song", 8) tab.setFont(textFont) # # 设置横向表头加粗 # font = tab.horizontalHeader().font() # font.setBold(True) # tab.horizontalHeader().setFont(font) # # #竖向加粗 # font1=tab.verticalHeader().font() # font1.setBold(True) # tab.verticalHeader().setFont(font1) #设置表头内某个元素的字体加粗横向: # font = QFont() # font.setBold(True) # item = tab.horizontalHeaderItem(0) # item.setFont(font) # item = tab.horizontalHeaderItem(1) # # item.setForeground(QBrush(QColor(255,0,0))) # item.setForeground(QBrush(QColor(203,235,246))) # #设置纵向表头 # item=tab.verticalHeaderItem(1) # item.setForeground(QBrush(QColor(255, 0, 0))) #循环横向设置表头颜色和字体 for index in range(tab.columnCount()): headItem = tab.horizontalHeaderItem(index) headItem.setFont(QFont("song", 12, QFont.Bold)) #循环竖向设置表头颜色和字体 for index in range(tab.rowCount()): headItem=tab.verticalHeaderItem(index) try: headItem.setFont(QFont("song", 10, QFont.Bold)) except: pass text="FAIL" text1="N/A" #查找符合需求的单元格,以对象的方式,放入列表中 items=tab.findItems(text,QtCore.Qt.MatchExactly) items1=tab.findItems(text1,QtCore.Qt.MatchExactly) if len(items)>0: for i in items: i.setBackground(QBrush(QColor(220,255,0)))#背景色 i.setForeground(QBrush(QColor(255,0,0)))#字体色 if len(items1)>0: for i in items1: i.setBackground(QBrush(QColor(255,255,0))) i.setForeground(QBrush(QColor(255,0,255)))##重写击键事件: def keyPressEvent(self, QKeyEvent): # 重写按键事件 print(QKeyEvent.key()) # if QKeyEvent.key() == Qt.Key_Enter: # 按Enter if QKeyEvent.key() == 16777220: # key_enter=16777220: 以下写要处理的方法。 以下为网络转载,可以尝试使用: tableself.MyTable = QtGui.QTableWidget(5, 3) self.MyTable.setWindowOpacity(0.8) self.MyTable.verticalHeader().setVisible(False) # 表头不可见 self.MyTable.horizontalHeader().setVisible(False) # 表头不可见 self.MyTable.horizontalHeader().setStretchLastSection(True) # 单元横向高度自适应。铺满窗口 self.MyTable.horizontalHeader().setResizeMode(QtGui.QHeaderView.Stretch) self.MyTable.verticalHeader().setStretchLastSection(True) # 单元竖直高度自适应。铺满窗口 self.MyTable.verticalHeader().setResizeMode(QtGui.QHeaderView.Stretch) self.MyTable.setStyleSheet(“selection-background-color:lightblue;”) # 选中时背景色 self.MyTable.setSelectionMode(QtGui.QAbstractItemView.NoSelection) # 不可选中 self.MyTable.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) # 不可编辑 self.MyTable.setShowGrid(False) # 网格线条不可见 透明度设置pll = self.MyTable.palette() pll.setBrush(QtGui.QPalette.Base, QtGui.QBrush(QtGui.QColor(224, 244, 220, 50))) self.MyTable.setPalette(pll) label = QtGui.QLabel(u"xxx") label.setStyleSheet(“background-image:url(:/0104.png); color:rgb(105,39,26);”) label.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter) self.MyTable.setCellWidget(0, 0, label) QTableWidgetItem *columnHeaderItem0 = ui->tableWidget->horizontalHeaderItem(i); //获得水平方向表头的Item对象 columnHeaderItem0->setFont(QFont(“Helvetica”)); //设置字体 columnHeaderItem0->setBackgroundColor(QColor(13, 13, 13)); //设置单元格背景颜色 columnHeaderItem0->setTextColor(QColor(233, 233, 233)); //设置文字颜色 ui->tableWidget->horizontalHeader()->setStyleSheet(“border:2px groove gray;border-radius:10px;padding:2px 4px;background-color: rgb(170, 170, 255);font: 20pt ‘华文隶书’;”); 构造一个含图片的label,再用setCellWidget把label插入单元格首先生成一个MyTable=QTableWidget() 1.设置表单样式 设置列数:MyTable.setColumnCount(3) 设置行数:MyTable.setRowCount(4) 设置默认列宽:myTable.horizontalHeader().setDefaultSectionSize(200) 设置默认行高:myTable.verticalHeader().setDefaultSectionSize(300) 设置某一列宽:myTable.horizontalHeader().resizeSection(0,300) #设置第一列的宽度 设置某一行高:myTable.verticalHeader().resizeSection(0,500) #设置第一行的高度 设置某一列宽: 设置某一列高: 设置横向表头的高度:myTable.horizontalHeader().setFixedHeight(100),且只能用该类方法设置横向表头的高度, 设置纵向表头的宽度:myTable.verticalHeader().setFixedWidth(300) ,且只能用该类方法设置纵向表头的宽度 设置表头不可点击:myTable.verticalHeader().setClickable(False) 设置表头字体加粗:font=myTable.horizontalHeader().font() font.setBold(False) myTable.horizontalHeader().setFont(font) 是指整个横向表头设置表头不塌陷:myTable.horizontalHeader().setHighlightSections(False) 设置表头内某个元素的颜色:item=myTable.horizontalHeaderItem(1) item.setTextColor(QColor(“red”)) ,设置横向表头第二个元素的颜色 设置表头内某个元素的字体加粗:font=QFont() font.setBold(True) item=myTable.horizontalHeaderItem(0) item.setFont(font), 设置横向表头第一个元素的字体加粗 设置表头内容:list=[u’宝贝’,u’日子’,u’多个’,u’话费’] myTable.setHorizontalHeaderLabels(list) 设置表格内容的填充属性: 设置隐藏表头:myTable.horizontalHeader().setVisible(False) 设置表格外部无边框:myTable.setFrameShape(QFrame.Box) 设置不显示格子线:myTable.setShowGrid(False) 设置表格的编辑属性:QAbstractItemView.NoEditTriggers:不可编辑 QAbstractItemView.CurrentChanged:改变了即可编辑 QAbstractItemView.DoubleClicked:连续双击即可编辑 QAbstractItemView.SelectedClicked:在被选中的情况下单击一次即可编辑 QAbstractItemView.EditKeyPressed:在按下平台的编辑键那个项目上即可编辑选择时每次选择一行:myTable.setSelectionBehavior(QAbstractItemView.SelectRows), 也可以设置参数为SelectColumns,这样就会选择一列。选择表格模式:myTable.setSelectionMode(QAbstractItemView.ExtendedSelection) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |