summaryrefslogtreecommitdiffstats
path: root/examples/drawlines.py
diff options
context:
space:
mode:
authoraneejit1 <aneejit1@gmail.com>2022-07-28 15:46:19 +0000
committeraneejit1 <aneejit1@gmail.com>2022-07-30 17:54:15 +0000
commite602246539fd7435aaeb440fcb7f852c92c8426b (patch)
tree35e09f5d93c67158e6c1160d6d9b27ae8a0bf966 /examples/drawlines.py
parentb34531364d5c0d3be7056d87011afd8bd538a0e7 (diff)
downloadpytqt-e602246539fd7435aaeb440fcb7f852c92c8426b.tar.gz
pytqt-e602246539fd7435aaeb440fcb7f852c92c8426b.zip
Remove Qt V2 support and example files
Build files for pyuic2 have been removed along with the examples for version 2 of Qt and the build/configure scripts have been amended accordingly. The "examples3" directory has been renamed to just "examples". Signed-off-by: aneejit1 <aneejit1@gmail.com>
Diffstat (limited to 'examples/drawlines.py')
-rwxr-xr-xexamples/drawlines.py74
1 files changed, 74 insertions, 0 deletions
diff --git a/examples/drawlines.py b/examples/drawlines.py
new file mode 100755
index 0000000..c1553f2
--- /dev/null
+++ b/examples/drawlines.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+
+import sys, random
+from python_tqt.qt import *
+
+TRUE = 1
+FALSE = 0
+
+MAXPOINTS = 2000; # maximum number of points
+MAXCOLORS = 40;
+
+#
+# ConnectWidget - draws connected lines
+#
+
+class ConnectWidget(TQWidget):
+ def __init__(self):
+ TQWidget.__init__(self)
+ self.setEraseColor( TQt.white ) # white background
+ self.count = 0;
+ self.down = FALSE
+
+ self.points = []
+ self.colors = []
+
+ for i in range(MAXPOINTS): # init arrays
+ self.points.append(TQPoint())
+ for i in range(MAXCOLORS):
+ self.colors.append(TQColor( random.randint(0,255), random.randint(0,255), random.randint(0,255) ))
+
+#
+# Handles paint events for the connect widget.
+#
+ def paintEvent(self, pe):
+ paint = TQPainter( self )
+ for i in range(self.count-1): # connect all points
+ for j in range(i+1, self.count):
+ paint.setPen( self.colors[random.randint(0,MAXCOLORS-1)] ) # set random pen color
+ paint.drawLine( self.points[i], self.points[j] ) # draw line
+
+#
+# Handles mouse press events for the connect widget.
+#
+ def mousePressEvent(self, me):
+ self.down = TRUE
+ self.count = 0 # start recording points
+ self.erase() # erase widget contents
+
+#
+# Handles mouse release events for the connect widget.
+#
+ def mouseReleaseEvent(self, me ):
+ self.down = FALSE # done recording points
+ self.update() # draw the lines
+
+#
+# Handles mouse move events for the connect widget.
+#
+ def mouseMoveEvent(self, me):
+ if self.down and self.count < MAXPOINTS:
+ paint = TQPainter( self )
+ self.points[self.count] = TQPoint(me.pos()) # add point
+ paint.drawPoint( me.pos() ) # plot point
+ self.count = self.count+1
+
+#
+# Create and display a ConnectWidget.
+#
+a = TQApplication( sys.argv )
+connect = ConnectWidget()
+connect.setCaption( "PyTQt Example - Draw lines")
+a.setMainWidget( connect )
+connect.show()
+a.exec_loop()