首先,我想提一下我的编程经验和知识非常有限。如果您能用实际代码回答我的问题,我可以简单地复制和粘贴,我将非常感激。
我正在使用error in run: VM "boot2docker-vm" is not running.
在Python 2.7中为QGIS
编写一个插件来创建GUI。
我使用for循环在PyQt4
中创建成对的矩形。每次迭代都会给出一对矩形。现在我想访问for循环之外的这些矩形,但左侧的所有矩形都称为QGraphicsScene
,右侧的所有矩形都称为rect_L
。有没有办法在其名称中添加变量号?我想拨打第一对rect_R
和rect_L_1
,第二对rect_R_1
和rect_L_2
,依此类推(或沿着这些线路)。
我希望我的问题很清楚。下面是rect_R_2
QGraphicsScene
屏幕截图的链接以及代码的相关部分(我认为)。提前谢谢。
QGIS
答案 0 :(得分:0)
使用一两个清单。
L_rects = []
R_rects = []
for i in changeMatrix:
count_j = 1
for j in i:
if j <> 0 and count_i <> count_j:
textitem_L = scene.addText(L[count_j-1])
textitem_R = scene.addText(L[count_i-1])
textitem_L.setPos(0, count_valid*50)
textitem_R.setPos(300, count_valid*50)
rect_L = scene.addRect(50, count_valid*50, 25, 25, pen, brush)
rect_R = scene.addRect(250, count_valid*50, 25, 25, pen, brush)
rect_L.setFlags(QtGui.QGraphicsItem.ItemIsMovable | QtGui.QGraphicsItem.ItemIsSelectable | QtGui.QGraphicsItem.ItemIsFocusable | QtGui.QGraphicsItem.ItemSendsGeometryChanges)
rect_R.setFlags(QtGui.QGraphicsItem.ItemIsMovable | QtGui.QGraphicsItem.ItemIsSelectable | QtGui.QGraphicsItem.ItemIsFocusable | QtGui.QGraphicsItem.ItemSendsGeometryChanges)
rect_L.setAcceptsHoverEvents(True)
rect_R.setAcceptsHoverEvents(True)
L_rects.append(rect_L)
R_rects.append(rect_R)
count_valid += 1
count_j += 1
count_i += 1
现在您可以使用索引来访问单个rect对象,例如。 L_rects[2]
。