如何选择某个项目作为某种当前单元格背景的混合时的背景?
默认的项目选择背景是蓝色,如果我的单元格是红色,那么我希望它是红色,不透明度稍低:
Example image of how I'd like it to be
我尝试将颜色设置为透明:
setStyleSheet("selection-background-color: transparent")
还有不透明度为1%的rgba功能:
setStyleSheet("selection-background-color: rgba(255, 255, 255, 1)")
但两者都没有保留原始颜色
答案 0 :(得分:1)
此示例将为您提供有关如何使用tablewidgets和item
进行管理的一些信息import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
data = {'col1':['red','blue','green']}
class MyTable(QTableWidget):
def __init__(self, data, *args):
QTableWidget.__init__(self, *args)
self.data = data
self.setmydata()
self.resizeColumnsToContents()
self.resizeRowsToContents()
self.setStyleSheet("""QTableView::item:focus
{
selection-background-color: rgba(255, 0, 0, 128);
}""")
def setmydata(self):
horHeaders = []
for n, key in enumerate(sorted(self.data.keys())):
horHeaders.append(key)
for m, item in enumerate(self.data[key]):
newitem = QTableWidgetItem(item)
self.setItem(m, n, newitem)
colorVal = "Qt.%s" % item
self.item(m, n).setBackground(eval(colorVal))
self.setHorizontalHeaderLabels(horHeaders)
def main(args):
app = QApplication(args)
table = MyTable(data, 3, 1)
table.show()
sys.exit(app.exec_())
if __name__=="__main__":
main(sys.argv)