3
我在PyQt4中建立,並不知道如何將文本添加到QGraphicsPolygonItem。這個想法是在用戶雙擊後在矩形框的中間設置文本(並通過QInputDialog.getText獲取對話框)。如何在QGraphicsPolygonItem中添加QInputDialog.getText文本?
類是:
class DiagramItem(QtGui.QGraphicsPolygonItem):
def __init__(self, diagramType, contextMenu, parent=None, scene=None):
super(DiagramItem, self).__init__(parent, scene)
path = QtGui.QPainterPath()
rect = self.outlineRect()
path.addRoundRect(rect, self.roundness(rect.width()), self.roundness(rect.height()))
self.myPolygon = path.toFillPolygon()
我的鼠標雙擊事件看起來是這樣,但更新什麼!
def mouseDoubleClickEvent(self, event):
text, ok = QtGui.QInputDialog.getText(QtGui.QInputDialog(),'Create Region Title','Enter Region Name: ', \
QtGui.QLineEdit.Normal, 'region name')
if ok:
self.myText = str(text)
pic = QtGui.QPicture()
qp = QtGui.QPainter(pic)
qp.setFont(QtGui.QFont('Arial', 40))
qp.drawText(10,10,200,200, QtCore.Qt.AlignCenter, self.myText)
qp.end()
謝謝,Avaris。通過閱讀其他幾個例子,我發現了這個EVENTUALLY。非常感謝您總結解決方案。 – seanlorenz