簡體   English   中英

如何設置QGraphicsLineItem的ObjectName

[英]How to setObjectName of the QGraphicsLineItem

我想將ObjectName設置為我的LineItem

但是當我用的時候

self.line.setItemName('%d' % i)

它不起作用,停止那邊的程序。 誰能告訴我該怎么辦? PLZ

def createLineItem(self,start,end):

    global i
    i +=1

    self.line = QGraphicsLineItem(QLineF(start, end))
    print("~")
    self.line.setItemName('%d' % i)
    print("~~")
    print( "Line",self.line.objectName())
    self.scene().addItem(self.line)

首先,你在哪里得到QGraphicsLineItem的setItemName方法的信息? QGraphicsLineItem沒有setItemName方法。 另一方面,objectName是QObjects的屬性,但QGraphicsLineItem不是。 保存名稱的替代方法是使用數據方法:

KEY_NAME = 0 

# ...

def createLineItem(self,start,end):
    global i
    i +=1
    line = QGraphicsLineItem(QLineF(start, end))
    line.setData(KEY_NAME, '%d' % i)
    print( "Line", line.data(KEY_NAME))
    self.scene().addItem(line)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM