我正在尝试使用pyqt绘制地图,但它不起作用。到目前为止,我没有输出或我得到像Seg fault这样的错误。
以下是我现在使用的代码:
#!/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_()
[编辑]以下是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
我正在使用mac os 10.6.7& active python 2.7.1
答案 0 :(得分:2)
我在旧的Debian stable上使用Python 2.6.6。
您需要抵消负数才能使其成为正数,否则它们将在“屏幕外”渲染,并且在您的应用中无法显示。