[PyKDE] QTable, selections and moving column headers
greg landrum
greglandrum at mindspring.com
Wed Nov 20 06:33:01 GMT 2002
On Tue, 2002-11-19 at 19:57, Jim Bublitz wrote:
>
> On 19-Nov-02 greg Landrum wrote:
>
> > [PyQt-3.3.2, qt-3.0.5, RH8.0, Python-2.2.1]
>
> > The attached file constructs a simple widget using a QTable.
> > It also attempts to:
> > 1) limit selection to a single cell
> > 2) allow moving of columns and rows
> > as near as I can tell, neither 1) nor 2) work.
>
> > Is this a known Qt problem (I couldn't find any reports of it) or
> > a PyQt thing?
>
> setSelectionMode works, and you appear to it coded correctly.
> I've never used setRow/ColumnMovingEnabled. Usually I load the
> column and row labels into Python lists, set the number of rows and
> columns once from the list lengths, and then set all of the labels
> in a loop. I can't see why the extra calls would make a difference
> though.
Yeah, that's a better solution. The filling code I provided is just
what came out of pyuic. I wanted a quick and simple demo.
>
> What kind of symptoms are you getting (eg nothing works at all, get
> full row selected instead of single cell, rows drag but don't drop,
> etc)?
Oooo, I did forget to mention the specific problems, didn't I. Crap,
sorry about that.
Selection:
Even with setSelectionMode(QTable.Single) called, left clicking on the
column/row headers results in the entire column/row being highlighted.
Similarly, clicking to set a cell, then shift-clicking elsewhere results
in the highlighted region expanding. I have to admit that I am just
assuming that highlighted = selected.
Column/Row Moving:
Left clicking on a column/row header and then dragging results in the
selection being expanded as the mouse cursor drags to new columns/rows
(again, I'm defining "selection" to be "highlighted region"). No
dragging occurs.
> The only other thing I can think of at the moment is to make
> sure the QTable gets focus (look at focusPolicy, setFocus in the
> Qt docs).
>
I think that focus is being obtained (because I can move the selection
around, drag stuff out, etc. Just to be sure, I tried adding a call to
setFocusPolicy(QWidget.StrongFocus), but that didn't change any of the
behavior described above.
Thanks,
-greg
More information about the PyQt
mailing list