【问题标题】:Drawing PyQt Painter绘制 PyQt 画家
【发布时间】:2011-05-15 00:02:47
【问题描述】:

我正在尝试使用 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

【问题讨论】:

    标签: python qt pyqt graphic


    【解决方案1】:

    我在旧的 Debian 稳定版上使用 Python 2.6.6。

    您需要抵消负数以使其为正数,否则它们将呈现“屏幕外”并且不会在您的应用中可见。

    【讨论】:

    • 哦,这是其余的代码。尽管如此,拿走那条线不会使paintEvent绘制路径。
    • 你得到的堆栈跟踪是什么?
    • 哦,那行得通。这些要点适用于该软件的 Java 版本。谢谢。
    猜你喜欢
    • 2023-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2021-08-18
    • 2015-08-19
    • 2011-11-02
    相关资源
    最近更新 更多