Python 移动标签PyQt
我有一个像下面这样的类,代表一张游戏卡。有更多的卡片显示在桌子上,但我希望当点击一张卡片时,它会出现在桌子的中心。现在,在桌子的中心可能已经有另一张卡了(假设中心在坐标100x,100y处),如果是这种情况,我想把新卡放在它旁边,比如说,在200x,100y处,但是我如何判断在100y处是否已经有了什么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
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
和其他类似功能都可以使用。你也可以看看能帮你的。当你把卡片放在桌子中央时,你可以用相关信息更新一些字典或类似的东西。如果你想在中心放一张新卡片,只需阅读字典,根据字典内容做相应的事情。谢谢文森特,我错过了!但我如何判断在新坐标处是否已经有东西?