У меня есть QTableWidget в моей программе. Я хочу, чтобы строки и столбцы меняли цвет в соответствии с записью времени в виджете таблицы. Когда я впервые добавляю время, оно сравнивается с текущим системным временем, и изменение цвета действительно вступает в силу, но со временем оно не поспевает за ним, и цвета остаются прежними. Я хочу, чтобы он продолжал обновлять цвет элемента таблицы. Я не могу включить весь код, так как он слишком длинный, но я включил соответствующую часть.
#Operations_Tree is the QTABLEWIDGET
def Scheduler_Loop(self):
Timer = QtCore.QTimer(self)
Timer.start(1000)
Timer.timeout.connect(self.test)
def test(self):
time = QtCore.QTime.currentTime()
current_time_text = time.toString('hh:mm:ss')
for row in range(0,self.Operations_Tree.rowCount()):
time = self.Operations_Tree.item(row,1)
time_text = time.text()
#print(time_text)
if time_text >= current_time_text :
for column in range(0,6):
#print("TEST")
try:
table_widget_item = self.Operations_Tree.item(row, column)
table_widget_item.setForeground(QtGui.QColor(0,0,255)) #BLue
table_widget_item.setBackground(QtGui.QColor(238,233,233)) #
table_widget_item.viewport.update()
except AttributeError:
pass
else:
for column in range(0,6):
#print("TEST")
try:
table_widget_item = self.Operations_Tree.item(row, column)
#table_widget_item.setForeground(QtGui.QColor(0,255,0)) #
table_widget_item.setBackground(QtGui.QColor(238,233,233)) #
table_widget_item.viewport.update()
except AttributeError:
pass
self.Operations_Tree.update()
вот снимок моей программы: