summaryrefslogtreecommitdiffstats
path: root/python/pyqt/examples3/cursor.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/pyqt/examples3/cursor.py')
-rwxr-xr-xpython/pyqt/examples3/cursor.py114
1 files changed, 114 insertions, 0 deletions
diff --git a/python/pyqt/examples3/cursor.py b/python/pyqt/examples3/cursor.py
new file mode 100755
index 00000000..f530c6a1
--- /dev/null
+++ b/python/pyqt/examples3/cursor.py
@@ -0,0 +1,114 @@
+#!/usr/bin/env python
+
+"""$Id$
+**
+** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+***************************************************************************"""
+
+import sys
+from qt import *
+
+# cb_bits and cm_bits were generated by X bitmap program.
+
+cb_width = 32
+cb_height = 32
+
+# cursor bitmap
+cb_bits = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x0f\x00" \
+ "\x00\x06\x30\x00\x80\x01\xc0\x00\x40\x00\x00\x01" \
+ "\x20\x00\x00\x02\x10\x00\x00\x04\x08\x3e\x3e\x08" \
+ "\x08\x03\xe0\x08\xc4\x00\x00\x11\x04\x1e\x78\x10" \
+ "\x02\x0c\x30\x20\x02\x40\x00\x20\x02\x40\x00\x20" \
+ "\x02\x40\x00\x20\x02\x20\x04\x20\x02\x20\x04\x20" \
+ "\x02\x10\x08\x20\x02\x08\x08\x20\x02\xf0\x07\x20" \
+ "\x04\x00\x00\x10\x04\x00\x00\x10\x08\x00\xc0\x08" \
+ "\x08\x3c\x30\x08\x10\xe6\x19\x04\x20\x00\x0f\x02" \
+ "\x40\x00\x00\x01\x80\x01\xc0\x00\x00\x06\x30\x00" \
+ "\x00\xf8\x0f\x00\x00\x00\x00\x00"
+
+cm_width = 32
+cm_height = 32
+
+# cursor bitmap mask
+cm_bits = "\x00\x00\x00\x00\x00\xf8\x1f\x00\x00\xfe\x3f\x00" \
+ "\x80\x07\xf0\x00\xc0\x01\xc0\x01\x60\x00\x00\x03" \
+ "\x30\x00\x00\x06\x18\x00\x00\x0c\x0c\x3e\x3e\x18" \
+ "\x0e\x03\xe0\x18\xc6\x00\x00\x31\x07\x1e\x78\x30" \
+ "\x03\x0c\x30\x60\x03\x40\x00\x60\x03\x40\x00\x60" \
+ "\x03\x40\x00\x60\x03\x20\x04\x60\x03\x20\x04\x60" \
+ "\x03\x10\x08\x60\x03\x08\x08\x60\x03\xf0\x07\x60" \
+ "\x06\x00\x00\x30\x06\x00\x00\x30\x0c\x00\xc0\x18" \
+ "\x0c\x3c\x30\x18\x18\xe6\x19\x0c\x30\x00\x0f\x06" \
+ "\x60\x00\x00\x03\xc0\x01\xc0\x01\x80\x07\xf0\x00" \
+ "\x00\xfe\x3f\x00\x00\xf8\x0f\x00"
+
+# The CursorView contains many labels with different cursors.
+class CursorView( QWidget ): # cursor view
+ def __init__( self ):
+ QWidget.__init__( self )
+ # Constructs a cursor view.
+#enum CursorShape { ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IbeamCursor, SizeVerCursor, SizeHorCursor, SizeBDiagCursor, SizeFDiagCursor, SizeAllCursor, BlankCursor, SplitVCursor, SplitHCursor, PointingHandCursor, ForbiddenCursor, WhatsThisCursor, LastCursor = WhatsThisCursor, BitmapCursor = 24 }
+
+ shape = [
+ "ArrowCursor", "UpArrowCursor", "CrossCursor",
+ "WaitCursor", "IbeamCursor", "SizeVerCursor",
+ "SizeHorCursor", "SizeBDiagCursor", "SizeFDiagCursor",
+ "SizeAllCursor", "BlankCursor", "SplitVCursor",
+ "SplitHCursor", "PointingHandCursor", "ForbiddenCursor",
+ "WhatsThisCursor"
+ ]
+ name = [
+ "standard arrow cursor", "upwards arrow",
+ "crosshair", "hourglass/watch",
+ "ibeam/text entry", "vertical resize",
+ "horizontal resize", "diagonal resize (/)",
+ "diagonal resize (\)", "all directions resize",
+ "blank/invisible cursor", "vertical splitting",
+ "horziontal splitting", "a pointing hand",
+ "a slashed circle", "an arrow with a question mark"
+ ]
+
+ self.setCaption( "CursorView" ) # set window caption
+
+ grid = QGridLayout( self, 5, 4, 20 )
+
+ i=0
+ for y in range( 0, 4, 1 ) : # create the small labels
+ for x in range( 0, 4, 1 ) :
+ label = QLabel( self )
+ label.setCursor( QCursor(i) )
+ label.setText( shape[i] );
+ label.setAlignment( self.AlignCenter )
+ label.setFrameStyle( QFrame.Box | QFrame.Raised )
+ grid.addWidget( label, x, y )
+ QToolTip.add( label, name[i] )
+ i += 1
+
+ cb = QBitmap( cb_width, cb_height, cb_bits, True )
+ cm = QBitmap( cm_width, cm_height, cm_bits, True )
+ custom = QCursor( cb, cm ) # create bitmap cursor
+
+ label = QLabel( self ) # create the big label
+ label.setCursor( custom )
+ label.setText( "Custom bitmap cursor" )
+ QToolTip.add( label, "custom bitmap cursor" )
+ label.setAlignment( self.AlignCenter )
+ label.setFrameStyle( QFrame.Box | QFrame.Sunken )
+ grid.addMultiCellWidget( label, 4, 4, 0, 3 )
+
+# Create and display a CursorView.
+def main( args ):
+ a = QApplication(sys.argv) # application object
+ v = CursorView() # cursor view
+ v.setCaption( "Qt Example - Cursors" )
+ a.setMainWidget( v )
+ v.show()
+
+ a.exec_loop()
+
+if __name__=="__main__":
+ main(sys.argv)