I'm trying to draw a map with pyqt and it does not work. So far either I have no output or I get errors like Seg fault.
Here is the code I'm using now:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
self.setGeometry(0, 0, 500, 500)
self.setWindowTitle('Painel')
list_ = []
file_ = open('points.txt')
for line in file_.readlines():
l = line.replace("\n", "")
l = l.split(" ")
try:
l = [float(i) for i in l]
list_.append(l)
except: pass#possible strings
first = list_[0]
list_ = list_[1:]
self.path = QPainterPath()
self.path.moveTo(*first)
for i in list_:
self.path.lineTo(*i)
def paintEvent(self, e):
qp = QPainter()
qp.begin(self)
qp.drawPath(self.path)
qp.end()
app = QApplication(sys.argv)
ex = Example()
ex.show()
app.exec_()
[Edit] And here is some of the content of points.txt
-57.328 -29.972
-57.323 -29.937
-57.329 -29.895
-57.328 -29.880
-57.295 -29.832
-57.242 -29.789
-57.227 -29.780
-57.171 -29.781
-57.134 -29.771
And I'm using mac os 10.6.7 & active python 2.7.1
I'm using Python 2.6.6 on old Debian stable.
You'll need to offset negative numbers to make them positive, or they'll render "offscreen" and won't be visible in your app.