• 7700阅读
  • 1回复

[原创]表格隔行显示不同背景颜色 [复制链接]

上一主题 下一主题
离线xsqxsy
 

只看楼主 倒序阅读 楼主  发表于: 2012-09-19
        【已解决】

        做一个桌面软件,其中心部件是一个QTableWidget表格。想让表格隔行显示不同背景颜色,想到用样式表,但上网查了一下,没找到样式表实现这一功能的说明。但在网上查到一篇贴子谈到了DataGridView隔行显示不同的颜色,不知是否可以利用它来实现我的功能?如果可以要怎样实现?(我使用的是python3.2+pyqt4)


样图如下:

贴子的内容如下:

方法一、DataGridView隔行显示不同的颜色

AlternatingRowsDefaultCellStyle 属性
获取或设置应用于 DataGridView 的奇数行的默认单元格样式。
RowsDefaultCellStyle 属性
获取或设置应用于 DataGridView 的行单元格的默认样式。

只需要增加以下代码即可实现隔行变色:
dataGridView1.RowsDefaultCellStyle.BackColor = Color.Bisque;
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige



--


离线xsqxsy

只看该作者 1楼 发表于: 2012-09-20
已经解决。

效果图如下:



代码如下:
  1. self.table.setAlternatingRowColors(True)
  2. self.table.setStyleSheet("QTableView{selection-color: blue;background-color: rgb(210, 235, 242);alternate-background-color: rgb(165, 213, 227);border:1px solid rgb(65, 63, 67);}QTableWidget::item{border:1px solid rgb(120, 190, 215);}")
  3. self.table.horizontalHeader().setStyleSheet("QHeaderView::section {height: 25px;font: bold ;font-size: 18px;border-radius:4px; background-color:rgb(204, 232, 207);border:1px solid rgb(100, 100, 100);}")
  4. self.table.verticalHeader().setStyleSheet("QHeaderView::section {background-color:rgb(74, 172, 197);color: #0000FF;padding-left: 4px;border: 1px solid #6c6c6c;}")
  5. self.table.setShowGrid(True)




快速回复
限100 字节
 
上一个 下一个