@@ -71,7 +71,7 @@ def dimension(self, parent=None):
71
71
72
72
def color_for_label (self , ind , light = 100 ):
73
73
if self .label_colors is None :
74
- return Qt . lightGray
74
+ return None
75
75
return QBrush (self .label_colors [ind ].lighter (light ))
76
76
77
77
def color_for_cell (self , row , col ):
@@ -82,7 +82,7 @@ def data(self, index, role=Qt.DisplayRole):
82
82
return Qt .AlignRight | Qt .AlignVCenter
83
83
row , col = index .row (), index .column ()
84
84
if self .distances is None :
85
- return
85
+ return None
86
86
if role == TableBorderItem .BorderColorRole :
87
87
return self .color_for_label (col ), self .color_for_label (row )
88
88
if role == FixedFormatNumericColumnDelegate .ColumnDataSpanRole :
@@ -95,15 +95,21 @@ def data(self, index, role=Qt.DisplayRole):
95
95
return float (self .distances [row , col ])
96
96
if role == Qt .BackgroundColorRole :
97
97
return self .color_for_cell (row , col )
98
+ if role == Qt .ForegroundRole :
99
+ return QColor (Qt .black ) # the background is light-ish
100
+ return None
98
101
99
102
def headerData (self , ind , orientation , role ):
100
103
if not self .labels :
101
- return
104
+ return None
102
105
if role == Qt .DisplayRole and ind < len (self .labels ):
103
106
return self .labels [ind ]
104
107
# On some systems, Qt doesn't respect the following role in the header
105
108
if role == Qt .BackgroundRole :
106
109
return self .color_for_label (ind , 150 )
110
+ if role == Qt .ForegroundRole and self .label_colors is not None :
111
+ return QColor (Qt .black )
112
+ return None
107
113
108
114
109
115
class TableBorderItem (FixedFormatNumericColumnDelegate ):
@@ -196,7 +202,9 @@ def __init__(self):
196
202
view .setWordWrap (False )
197
203
view .setTextElideMode (Qt .ElideNone )
198
204
view .setEditTriggers (QTableView .NoEditTriggers )
199
- view .setItemDelegate (TableBorderItem (roles = (Qt .DisplayRole , Qt .BackgroundRole )))
205
+ view .setItemDelegate (
206
+ TableBorderItem (
207
+ roles = (Qt .DisplayRole , Qt .BackgroundRole , Qt .ForegroundRole )))
200
208
view .setModel (self .tablemodel )
201
209
view .setShowGrid (False )
202
210
for header in (view .horizontalHeader (), view .verticalHeader ()):
0 commit comments