python - Wrong text alignment in row using QTreeView -


i have qtreeview (with pyqt4) custom , resized icons using code below, size column displaying wrong alignment/position, so:

enter image description here

        self.ui.treeview.seticonsize(qtcore.qsize(30,30))          filesystemmodel = qtgui.qfilesystemmodel(self.ui.treeview)         custoniconprovider = customiconsprovider()         filesystemmodel.seticonprovider(custoniconprovider)          self.ui.treeview.setmodel(filesystemmodel)         self.ui.treeview.setrootindex(filesystemmodel.setrootpath(forlderpath))          self.ui.treeview.setcolumnwidth(0, 250)         self.ui.treeview.setcolumnwidth(1, 70)         self.ui.treeview.setcolumnwidth(2, 70) 

i've searched http://pyqt.sourceforge.net/docs/pyqt4/qtreeview.html documentation possible fix, couldn't find evident.

one way fix reimplement model's data() method value textalignmentrole includes alignvcenter flag:

# python3 or sip.setapi('qvariant', 2)  class filesystemmodel(qtgui.qfilesystemmodel):     def data(self, index, role):         value = super(filesystemmodel, self).data(index, role)         if role == qtcore.qt.textalignmentrole , value not none:             value |= qtcore.qt.alignvcenter         return value 

# python2 or sip.setapi('qvariant', 1)  class filesystemmodel(qtgui.qfilesystemmodel):     def data(self, index, role):         value = super(filesystemmodel, self).data(index, role)         if role == qtcore.qt.textalignmentrole , value.isvalid():             value = value.toint()[0] | qtcore.qt.alignvcenter         return value 

Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

c++ - Clear the memory after returning a vector in a function -

erlang - Saving a digraph to mnesia is hindered because of its side-effects -