変更された値に基づいてQWidgetItemの背景色を設定する際に問題があります。PyQt - 値の更新に基づく点滅背景色
ボタンのクリックに基づいて単純に乱数をQTableWidgetに生成する以下の設定があります。
新しい値が古い値よりも高いか低い場合、セルの背景が変化するようにしたいと思います。たとえば、新しい値が高い場合は、青色を1秒間(または0.5秒間)点滅させるか、新しい値がより低い場合にしばらくの間黄色で点滅/点滅させます。
私はこのプロセスでどこから始めるのか分かりません。
感謝
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
from random import randint
class App(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 350, 380)
self.createTable()
self.button = QPushButton('Update Values', self)
self.layout = QVBoxLayout()
self.layout.addWidget(self.tableWidget)
self.layout.addWidget(self.button)
self.setLayout(self.layout)
self.button.clicked.connect(self.on_click)
self.show()
def createTable(self):
self.tableWidget = QTableWidget()
self.nrows=10
self.ncols=3
self.tableWidget.setRowCount(self.nrows)
self.tableWidget.setColumnCount(self.ncols)
for i in range(self.nrows):
for j in range(self.ncols):
self.tableWidget.setItem(i, j, QTableWidgetItem('{}'.format(randint(0,9))))
self.tableWidget.move(0,0)
self.tableWidget.doubleClicked.connect(self.on_click)
@pyqtSlot()
def on_click(self):
for i in range(self.nrows):
for j in range(self.ncols):
self.tableWidget.setItem(i, j, QTableWidgetItem('{}'.format(randint(0,9))))
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
は素敵な方法と明確な説明のためにありがとうございました。まさに私が必要としたもので、あなたが与えた参考文献も勉強します。乾杯! –