首页| 论坛| 消息
主题:解决第4章例子“30行的表达式求值”对PyQt5+Python3兼容性的问题。
回帖:def __init__(self, parent=None):
super(Form, self).__init__(parent)
为了查明 super() 方法的背后逻辑,以及书中所说 将 parent 设为 None 的意义,即 代表 Form类是顶级窗口,“因为脱离了父系”。但是试验结果发现 Form类的父类 QDialog 实质上还是起作用的。将上面的两句改成以下两种构造方法的都可以运行:
def __init__(self):
super(Form, self).__init__()
def __init__(self):
QDialog.__init__(self)
经过查询 python help文件,以及受到网上帖子的启发,可以最终确定,super () 方法的作用就是将类的 “父系” 变为隐式的,便于代码的移植。而程序中的 parent = None,估计并无实际作用,只是相当于注释的含义。
下一楼›:我的按照你这样改, 貌似还是不行哦:
如下提示:
self.lineedit.returnPressed.connect ..
‹上一楼:真是好帖子,有收获,谢谢!

查看全部回帖(11)
«返回主帖