python – 更改QTableWidgetItem背景颜色
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 更改QTableWidgetItem背景颜色,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1779字,纯文字阅读大概需要3分钟。
内容图文
![python – 更改QTableWidgetItem背景颜色](/upload/InfoBanner/zyjiaocheng/795/7ac4d23eaa34482394f0e766a0531f6a.jpg)
我正在尝试更改QTableWidgetItem背景的颜色.还有一些关于同一件事的帖子,但没有一个给定的解决方案适合我.
对于每一行,我逐个创建QTableWidgetItems然后然后使用setItem将其分配给当前行的单元格.
我试图在创建颜色之后改变颜色:
> self.myTable.myItem1.setBackgroundColor(QtGui.QColor(255,100,0,255))
> self.myTable.myItem1.setBackground(QtGui.QColor(255,100,0,255))
> self.myTable.myItem1.setData(Qt.BackgroundRole,QtGui.QColor(255,100,0,255))
但是这些解决方案在我的案例中没有任
有什么我想念的吗?
欢迎任何帮助
解决方法:
您必须设置项目的背景颜色.有几种方法可以做到这一点(完整的脚本更进一步):
>选项1:在项目上设置背景,然后将项目添加到表格中.
在此示例中,我们将item1设置为将“row1”作为内容.如果这是偶数行,我们将背景设置为浅红色/粉红色.
item1 = QtGui.QTableWidgetItem('row1')
if row % 2 == 0:
item1.setBackground(QtGui.QColor(255, 128, 128))
self.table.setItem(row,0,item1)
>选项2:在表格中的现有项目上设置背景.这要求您直接在物品上操作.
在此示例中,我们将项目的背景设置为浅灰色,即第1行,第0列:
self.table.item(1,0).setBackground(QtGui.QColor(125,125,125))
一个完整的脚本,显示红色和灰色突出显示在这里:
from PyQt4 import QtCore
from PyQt4 import QtGui
import sys
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self,parent)
self.table = QtGui.QTableWidget()
self.table.setColumnCount(2)
self.setCentralWidget(self.table)
data1 = ['row1','row2','row3','row4']
data2 = ['1','2.0','3.00000001','3.9999999']
self.table.setRowCount(4)
for row in range(4):
item1 = QtGui.QTableWidgetItem(data1[row])
if row % 2 == 0:
item1.setBackground(QtGui.QColor(255, 128, 128))
self.table.setItem(row,0,item1)
self.table.item(1,0).setBackground(QtGui.QColor(125,125,125))
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
输出:
内容总结
以上是互联网集市为您收集整理的python – 更改QTableWidgetItem背景颜色全部内容,希望文章能够帮你解决python – 更改QTableWidgetItem背景颜色所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。