gpt4 book ai didi

css - Qt - 使选择背景具有与元素相似的背景

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:19 30 4
gpt4 key购买 nike

当选择一个元素时,如何将背景设为当前单元格背景的某种混合?

默认的元素选择背景是蓝色的,如果我的单元格是红色的,那么我希望它是红色的,不透明度稍低:

Example image of how it is

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)")

但都没有保留原来的颜色

最佳答案

这个例子会给你一些关于如何管理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)

关于css - Qt - 使选择背景具有与元素相似的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33947036/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com