# -*- coding: utf-8 -*-
'''
Click to see coordinates to get a feel for pos versus globalPos of an event
'''
from PySide import QtGui, QtCore
class MousePos(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.initUI()
def initUI(self):
self.setGeometry(50,50,300,250)
self.show()
def mousePressEvent(self,event):
if event.button() == QtCore.Qt.LeftButton:
msg="event.globalPos: <{0}, {1}>\n".format(event.globalPos().x(), event.globalPos().y())
msg2="event.pos(): <{0}, {1}>\n".format(event.pos().x(), event.pos().y())
print msg + " " + msg2
def main():
import sys
qtApp=QtGui.QApplication(sys.argv)
myMousePos=MousePos()
sys.exit(qtApp.exec_())
if __name__=="__main__":
main()
One of my goals is to see if this code formatting worked in blogger. I did it at codeformatter.blogspot.com but am looking for better ways to do it. I want examples to be simple: cut, paste, and it works in your interpreter. Python is all about using space for syntax, and I had to do too much futzing to get the syntax right.
Tuesday, July 08, 2014
PySide event handling: pos versus globalpos
I'm playing around with Qt in Python using PySide. It is one of the steepest learning curves I've ever been on. I figure I'll start dropping little examples here. The following is a really simple example to demonstrate the difference between the pos and globalPos of an event in a window. Fire up the program, click within the window, and then drag the window and click within it again. It will print out globalPos() and pos() of a mouse click in the command line, and should be fairly self-explanatory.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment