@@ -118,11 +118,7 @@ def __init__(self, parent, model, position):
118
118
self .horizontalHeader ().setFrameStyle (QFrame .NoFrame )
119
119
self .verticalHeader ().setFrameStyle (QFrame .NoFrame )
120
120
121
- # make the grid a bit more compact
122
- self .horizontalHeader ().setDefaultSectionSize (64 )
123
- self .horizontalHeader ().setFixedHeight (10 )
124
- self .verticalHeader ().setDefaultSectionSize (20 )
125
- self .verticalHeader ().setFixedWidth (10 )
121
+ self .set_default_size ()
126
122
# to fetch more rows/columns when required
127
123
self .horizontalScrollBar ().valueChanged .connect (self .on_horizontal_scroll_changed )
128
124
self .verticalScrollBar ().valueChanged .connect (self .on_vertical_scroll_changed )
@@ -141,6 +137,13 @@ def __init__(self, parent, model, position):
141
137
self .horizontalHeader ().sectionResized .connect (self .updateGeometry )
142
138
self .verticalHeader ().sectionResized .connect (self .updateGeometry )
143
139
140
+ def set_default_size (self ):
141
+ # make the grid a bit more compact
142
+ self .horizontalHeader ().setDefaultSectionSize (64 )
143
+ self .horizontalHeader ().setFixedHeight (10 )
144
+ self .verticalHeader ().setDefaultSectionSize (20 )
145
+ self .verticalHeader ().setFixedWidth (10 )
146
+
144
147
def on_vertical_scroll_changed (self , value ):
145
148
if value == self .verticalScrollBar ().maximum ():
146
149
self .model ().fetch_more_rows ()
@@ -155,6 +158,16 @@ def updateSectionHeight(self, logicalIndex, oldSize, newSize):
155
158
def updateSectionWidth (self , logicalIndex , oldSize , newSize ):
156
159
self .setColumnWidth (logicalIndex , newSize )
157
160
161
+ def autofit_columns (self ):
162
+ """Resize cells to contents"""
163
+ QApplication .setOverrideCursor (QCursor (Qt .WaitCursor ))
164
+
165
+ # Spyder loads more columns before resizing, but since it does not
166
+ # load all columns anyway, I do not see the point
167
+ # self.model().fetch_more_columns()
168
+ self .resizeColumnsToContents ()
169
+ QApplication .restoreOverrideCursor ()
170
+
158
171
def selectAll (self ):
159
172
self .allSelected .emit ()
160
173
@@ -291,9 +304,7 @@ def __init__(self, parent, model, dtype, shape):
291
304
self .horizontalHeader ().setFrameStyle (QFrame .NoFrame )
292
305
self .verticalHeader ().setFrameStyle (QFrame .NoFrame )
293
306
294
- # make the grid a bit more compact
295
- self .horizontalHeader ().setDefaultSectionSize (64 )
296
- self .verticalHeader ().setDefaultSectionSize (20 )
307
+ self .set_default_size ()
297
308
# Hide horizontal+vertical headers
298
309
self .horizontalHeader ().hide ()
299
310
self .verticalHeader ().hide ()
@@ -308,6 +319,11 @@ def __init__(self, parent, model, dtype, shape):
308
319
309
320
# self.horizontalHeader().sectionClicked.connect(self.on_horizontal_header_clicked)
310
321
322
+ def set_default_size (self ):
323
+ # make the grid a bit more compact
324
+ self .horizontalHeader ().setDefaultSectionSize (64 )
325
+ self .verticalHeader ().setDefaultSectionSize (20 )
326
+
311
327
# def on_horizontal_header_clicked(self, section_index):
312
328
# menu = FilterMenu(self)
313
329
# header = self.horizontalHeader()
@@ -701,6 +717,11 @@ def set_data(self, data, bg_gradient=None, bg_value=None):
701
717
filters_layout .addStretch ()
702
718
self .data_adapter .update_filtered_data ({})
703
719
720
+ # reset default size
721
+ self .view_ylabels .set_default_size ()
722
+ self .view_xlabels .set_default_size ()
723
+ self .view_data .set_default_size ()
724
+
704
725
def _update_digits_scientific (self , data ):
705
726
"""
706
727
data : LArray
@@ -820,7 +841,9 @@ def _data_digits(self, data, maxdigits=6):
820
841
return maxdigits
821
842
822
843
def autofit_columns (self ):
823
- self .view_data .autofit_columns ()
844
+ self .view_xlabels .autofit_columns ()
845
+ for column in range (self .model_xlabels .columnCount ()):
846
+ self .resizeColumnToContents (column )
824
847
825
848
def resizeColumnToContents (self , column ):
826
849
# must be connected to view_labels.horizontalHeader().sectionHandleDoubleClicked signal
0 commit comments