python中object has no attribute_Python导入和“object has no attribute”与Q

通过对堆栈溢出和其他站点的研究,我99%确定我遇到的问题是由于错误的导入。下面是我用来响应一些鼠标事件的QLabel子类:import Qt

import sys

class ASMovableLabel(Qt.QLabel):

def mouseReleaseEvent(self, event):

button = event.button()

if button == 1:

print ('LEFT CLICK')

def mousePressEvent(self, event):

button = event.button()

if button == 1:

print ('LEFT CLICK')

elif button == 3:

print ('RIGHT CLICK')

self.setLayout()

def mouseMoveEvent(self, event):

print ("you moved the mouse: %f, %f", event.x, event.y)

self.frameRect.setTopLeft(Qt.QPoint(event.x, event.y))

当mouseMoveEvent被触发时,我得到以下错误:

^{pr2}$

我见过的这种类型的错误的其他解决方案都是围绕名称空间的,所以我需要或不需要在所有Qt类之前包括Qt.,但是这个错误在Qt对象中要远得多。请指出我的错误!在

我也尝试过:from PyQt4 import Qt

它给出了同样的错误

更新:根据Messa的评论,我做了一些修改:import Qt

import sys

class ASMovableLabel(Qt.QLabel):

def mouseReleaseEvent(self, event):

button = event.button()

if button == 1:

print ('LEFT CLICK')

def mousePressEvent(self, event):

button = event.button()

if button == 1:

print ('LEFT CLICK')

elif button == 3:

print ('RIGHT CLICK')

self.setLayout() #this won't set to nil

def mouseMoveEvent(self, event):

self.frameRect().setTopLeft(Qt.QPoint(event.globalX(), event.globalY()))

因此,在Python中,点语法似乎是函数调用,并且需要包括后面的“()”。这不包括self(即self().something())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值