python类中如何自动调用函数?

如图,在Python类中,这个KeyPressEvent函数只是重写了,但是没有显示调用它的方法,对象ex是怎么执行它的呢?请教朋友们,再次感谢... 如图,在Python类中,这个KeyPressEvent函数只是重写了,但是没有显示调用它的方法,对象ex是怎么执行它的呢?请教朋友们,再次感谢 展开
 我来答
小小编程书童
科技发烧友

2021-07-28 · 有一些普通的科技小锦囊
知道小有建树答主
回答量:583
采纳率:92%
帮助的人:30.2万
展开全部

答: 你讲的这个是pyqt里面的内容,刚好我最近也一直在学,在代码当中确实没有显式调用这个函数,但是你要知道, keyPressEvent是一个槽函数,在系统内部定义了这个函数,但是里面没有任何代码,而你就是对它重写了,就是说,只要你的键盘里面的任何一个键按下,就相当于会发送一个信号,那么在内部就会自动调用这个函数。类似的函数还有 keyReleaseEvent(键位松开时自动触发)等。希望可以帮助到你。

相关介绍

阳光的雷咩咩
2021-07-27 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7832万
展开全部
你这是继承了框架的类,调用应该是在框架内部,你写的这个def相当于重写
追问
老师,能介绍一下内部怎么调用的吗?pyqt5官网看了看,没看懂,拜托啦
追答

class Base():
def k(self):
print('Base.f')

def w(self):
self.k()


class C(Base):
def k(self):
print('C.f')


c = C()
c.w()

w举个例子,加入base是框架内的基类,C是你自定义的类

你没调用k,但是框架帮你调用了

(实际情况比这复杂得多,但大同小异)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式