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.
_______________________________________________
PyQt mailing list [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt