首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QPainter涂抹垃圾

QPainter涂抹垃圾
EN

Stack Overflow用户
提问于 2010-06-07 10:45:12
回答 1查看 220关注 0票数 0

程序代码片段:

代码语言:javascript
复制
def add_link(Item0Num, Item1Num):
    global Mw, View # Mw - MainWindow
    if Item0Num != Item1Num and not link_exists(Item0Num, Item1Num):
        append( links_to(Item1Num), Item0Num )
        append( links_from(Item0Num), Item1Num )
        LinkGi = TLinkGi()
        Mw.Scene.addItem(LinkGi)
        LinkGi.setZValue(200)
        LinkGi.scale(1 / View.Scale, 1 / View.Scale)
        LinkGi.Item0Num = Item0Num
        LinkGi.Item1Num = Item1Num

class TLinkGi(QGraphicsItem):

    def paint(self, Painter, StyleOptionGraphicsItem, Widget):
        global Mw, View
        Pen = QPen(Qt.black, 1)
        Painter.setPen(Pen)
        X0, Y0 = task_center(self.Item0Num)
        self.setPos(X0, Y0)
        X1, Y1 = task_center(self.Item1Num)
        X, Y = int( (X1 - X0) * View.Scale ), int( (Y1 - Y0) * View.Scale )
        Painter.drawLine(0, 0, X, Y)
        #Mw.Scene.update(0, 0, Plan.Size, Plan.Size) # (1)
        #Mw.gvMain.repaint()                         # (2)

    def boundingRect(self):
        global View
        Rect = QRectF(0, 0, Plan.Size, Plan.Size)
        return Rect

这描绘了这样的垃圾:http://img697.imageshack.us/img697/5395/qpaintergarbage1.jpg

当第(1)行和第(2)行没有注释时,事情也不会变得更好:http://img63.imageshack.us/img63/9693/qpaintergarbage0.jpg

请帮我解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2010-12-12 11:01:59

这可能是因为你在绘画之前没有清理背景。或者您手动清除它,但不是所有区域。试用setAutoFillBackground(true)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2986819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档