[PyQt] Reporting Bugs in PyQt/Qt

Andreas Pakulat apaku at gmx.de
Mon Nov 29 13:09:14 GMT 2010


On 29.11.10 12:42:53, Ian wrote:
> 2) When you call  setSortingEnabled(True)  on a QTreeView the model's  
> sort routine is called twice.
>
> No sort is necessary in my use case, because the data is already sorted  
> correctly. However I would accept a single sort column 0, ascending.
>
> Besides, sorting should *always* be done in the view and never in the  
> model. Sorting is a matter of data presentation. A model may have many  
> views - and each could sort in different orders without interfering with  
> each other.  The view has the data.
>
> So SortEnable should handle it all - and map the index back, so the data  
> in the model need not move. If the view needs to know the domain of a  
> column (numeric, string, character set), then it should ask the model.
>
> This bug has been reported since PyQt 4.4 - and is still outstanding.

Of course, reporting it against PyQt doesn't help, you need to report this
to Nokia, unless you can demonstrate that the equivalent C++ code has no
such problem. 

That being said, sorting is supposed to be done through a proxy model these
days, i.e. the view doesn't work on the "real" model directly.

> 3) When the bug in 2) has finished sorting the data twice, it results in  
> the header icon being in the wrong sense. Clicking the header continues  
> to sort the data in the opposite direction to that indicated by the  
> icon.  After clicking to another column and clicking back it does  
> correct itself.  This only effects column 0.

Again sounds like a Qt (or style) bug.

>  -
> 4) My table has exactly 5 columns of data -  
> ['Name','Ref','Street','Town','Contacts'].
>
> If I return 5 from columnCount() then I don't get any headers! If I  
> return 6 then the headers appear - and include an empty column on the 
> right.
>
> Anyone know a work-round for this?

Post a small runnable example that reproduces this, for example by
modifying one of the examples coming with PyQt.

Andreas

-- 
You have an ambitious nature and may make a name for yourself.


More information about the PyQt mailing list