Python 移动标签PyQt

Python 移动标签PyQt,python,pyqt,pyqt4,qlabel,Python,Pyqt,Pyqt4,Qlabel,我有一个像下面这样的类,代表一张游戏卡。有更多的卡片显示在桌子上,但我希望当点击一张卡片时,它会出现在桌子的中心。现在,在桌子的中心可能已经有另一张卡了(假设中心在坐标100x,100y处),如果是这种情况,我想把新卡放在它旁边,比如说,在200x,100y处,但是我如何判断在100y处是否已经有了什么 from PyQt4 import QtGui, QtCore class CardLabel(QtGui.QLabel): def __init__(self, *args, **k

我有一个像下面这样的类,代表一张游戏卡。有更多的卡片显示在桌子上,但我希望当点击一张卡片时,它会出现在桌子的中心。现在,在桌子的中心可能已经有另一张卡了(假设中心在坐标100x,100y处),如果是这种情况,我想把新卡放在它旁边,比如说,在200x,100y处,但是我如何判断在100y处是否已经有了什么

from PyQt4 import QtGui, QtCore

class CardLabel(QtGui.QLabel):
    def __init__(self, *args, **kwargs):
        QtGui.QLabel.__init__(self, *args, **kwargs)

    def mouseReleaseEvent(self, ev):
        print 'clicked'
        self.emit(QtCore.SIGNAL('clicked()'))
        self.move(100, 100)

我找不到任何QLabel属性(甚至在其继承的父级中也找不到)或返回标签坐标的方法。如果可以的话,我可能会在一个全局字典中记录所有小部件的坐标,并在每次我必须移动卡片时循环它的项目(这是最好的方法还是有更有效的方法?)
QLabel
继承自
QWidget
x()
y()
pos
和其他类似功能都可以使用。你也可以看看能帮你的。当你把卡片放在桌子中央时,你可以用相关信息更新一些字典或类似的东西。如果你想在中心放一张新卡片,只需阅读字典,根据字典内容做相应的事情。

谢谢文森特,我错过了!但我如何判断在新坐标处是否已经有东西?