@@ -88,7 +88,7 @@ def __init__(self, parent):
88
88
self .setAlternatingRowColors (True )
89
89
90
90
self .setSortingEnabled (True )
91
- self .header ().setSectionsMovable (False )
91
+ self .header ().setSectionsMovable (True )
92
92
self .header ().setStretchLastSection (True )
93
93
self .sortByColumn (0 , QtCore .Qt .AscendingOrder )
94
94
@@ -528,3 +528,21 @@ def setColumnVisibility(self, settings):
528
528
for col in range (len (settings )):
529
529
if col <= self .columnCount ():
530
530
self .setColumnHidden (col , settings [col ])
531
+
532
+ ################################################################################
533
+ # Allow the user to move columns and remember position
534
+ ################################################################################
535
+
536
+ def getColumnOrder (self ):
537
+ settings = {}
538
+ header = self .header ()
539
+ for col in range (header .count ()):
540
+ settings [col ] = header .logicalIndex (col )
541
+ return settings
542
+
543
+ def setColumnOrder (self , settings ):
544
+ header = self .header ()
545
+ cols = sorted (settings .keys (), key = lambda x : int (x ))
546
+ for col in cols :
547
+ old_col = header .visualIndex (settings [col ])
548
+ header .moveSection (int (old_col ), int (col ))
0 commit comments