[PyQt] Where to start
diego
diego at cortassa.net
Fri Jun 3 15:24:55 BST 2011
>> I am trying to do is display an image, and then using drag-selection
>> to
>> select a sub-image for later processing. Eventually I want to be
>> able
>> to select multiple regions and tag each region for appropruate back
>> end
>> processing, but for now just being able to select one sub-image
>> would
>> be good. I can display an image, but don't know how to implement
>> drag-selection (think it is also know as rubber band selection). I
>> am
>> assuming I will need to write some mouse-callbacks or something. My
>> search-fu has failed me and I haven't been able to find any examples
>> to
>> study. Can someone give me any pointers to which widgets I should be
>> using and perhaps where to find a sample program I can study.
>
> There didn't seem to be much in the PyQt examples to show this - the
> itemviews/chart example does use QRubberBand to allow the user to
> select
> data, but that's not the best example to learn this technique from.
>
> I quickly wrote an example that does part of what you want:
>
> http://www.diotavelli.net/PyQtWiki/Selecting_a_region_of_a_widget [1]
>
> Hope this helps,
Hi David,
thanks for your example! I was experimeting on QRubberBand too and it
helped me a lot.
I tried your code myself but I found a small bug that confused me at
start, in:
[...]
def mouseMoveEvent(self, event):
if event.button() == Qt.LeftButton:
[...]
you check if the value retured by QMouseEvent.button() is Qt.LeftButton
but in
http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qmouseevent.html#buttoon
states that "the returned value is always Qt.NoButton for mouse move
events."; the code in mouseMoveEvent will never be executed and the
rubber band will not work.
--
Diego Cortassa
--
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.
More information about the PyQt
mailing list