首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向继承类的init函数中添加参数

向继承类的init函数中添加参数
EN

Stack Overflow用户
提问于 2019-02-14 16:10:01
回答 1查看 105关注 0票数 0

我对继承和重写方法非常陌生,我不太确定如何覆盖类的__init__方法,更具体地说,向它添加另一个参数。

基本上,我想重写tkinter类simpledialog.Dialog的simpledialog.Dialog方法。

在文档中,init方法的simpledialog.Dialog有参数__init__(self,parent,title=None),我希望它是__init__(self,parent,labeltitle,title=None)

EN

回答 1

Stack Overflow用户

发布于 2019-02-14 16:49:02

好的,伙计们,对于上下文,我还更改了类的其他一些方法,我将给出代码,这样人们就会知道为什么我要在init方法中使用标签标题。我找到了一个如何解决我的问题的解决方案,如果有人对此有想法或看到问题,请告诉我。

代码语言:javascript
运行
复制
import tkinter
from tkinter import simpledialog

class MyDialog(simpledialog.Dialog):

    def __init__(self,parent,labeltitle,title):
        self.labeltitle=labeltitle
        super().__init__(parent,title)


    def body(self, master):
        self.geometry("400x300")
        tkinter.Label(master, text=self.labeltitle).grid(row=0)

        self.e1 = tkinter.Entry(master)
        self.e1.grid(row=0, column=1,pady=30)
        return self.e1 # initial focus

    def apply(self):
        first = self.e1.get()
        self.result = first

现在,当我创建这样一个MyDialog对象: asd =MyDialog(根,"title_of_the_label","title_of_the_Dialogwindow")时,我得到了带有这些标题的对话框。现在我可以创建具有不同窗口标题和标签标题的多个对象,因为simpledialog.Dialog类只允许更改对话框的标题,而不允许更改标签标题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54694627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档