700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > PyQt中如何在子部件(child Widget)中调用父部件(parent Widget)中的方法

PyQt中如何在子部件(child Widget)中调用父部件(parent Widget)中的方法

时间:2019-06-06 22:14:03

相关推荐

PyQt中如何在子部件(child Widget)中调用父部件(parent Widget)中的方法

如果你也想赚钱,实现财务自由,但接触不到优质的人脉和资源,可以到公June浩:成长home,发"资源" ,就会看到我吐血整理的168条保姆级零基础吸金秘籍,跟着我一起亲历毕业5年、创业3年、从0到1000万的嗨翻全场的爆发式成长全过程。

PyQt中,为了层级管理的方便,多数时候会有子部件和父部件的区分,比如父部件是一个QWidget,子部件是一个QTabWidget,子部件位于父部件之中,子部件是父部件的一个部件。

由父部件获取子部件是很简单的,毋庸赘言。在父部件中创建子部件的时候,就可以用一个变量来绑定该子部件。

但是从子部件获取父部件,好像就没有明确的实现方法了。从网上找到的解决方式,要么是最终结果模棱两可含糊不清,要么干脆就不适用于python语言。

经过几次简单的实验,发现解决方法还是比较简单的,在这里简单的记录一下。

在父部件初始化的时候,定义子部件的时候将self作为父部件传给子部件,大概就是这样:

#self指的是父部件,Interface是子部件的实例化类#定义一个Interface,即可创建一个子部件并对之进行初始化self.tab=childWidget.Interface(self)

然后,在子部件中,在初始化的时候,定义一个parent变量,接收父部件传过来的self参数,赋值给parent变量,代码大概就是下面这样:

#self指的是新建的子部件#parent是父部件传过来的参数def __init__(self,parent):super(Interface,self).__init__()self.parent=parent

这样的话,在子部件中,只要用self.parent,就可以获取父部件,然后就可以调用父部件中的属性、方法以及其他的子部件了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。