为了账号安全,请及时绑定邮箱和手机立即绑定

Tkinter 中的 Widgets 是类还是方法?

Tkinter 中的 Widgets 是类还是方法?

MM们 2022-12-06 15:23:50
使用该Text()方法创建文本小部件。import tkinter as tk root = tk.Tk()T = tk.Text(root, height=2, width=30) T.pack() T.insert(tk.END, "Just a text Widget\nin two lines\n") w = tk.Label(root, text="Hello Tkinter!") w.pack() root.mainloop()我是 Python 的新手。我的理解是,Text和Label是类,T并且w是从Text和Label类创建的对象。但是在上面的文本示例中,一个网站提到使用该Text()方法创建文本小部件。我现在完全糊涂了。pack()是一种方法,我们可以在我们从类创建的对象(T和这里)上应用方法和。wLabelText请让我知道 、 、 等小部件Label是Text类Button还是方法。
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

Tkinter 小部件是类。

但是在上面的文本例子中,某网站提到A text widget is created by using the Text() method.

那个网站不正确。它们是类,您可以通过查看 tkinter 的源代码来验证这一点,您会在其中看到每个小部件(TextLabelFrame等)的类定义。

例如,文本小部件的第一部分如下所示(取自 tkinter 的__init__.py文件):

class Text(Widget, XView, YView):

    """Text widget which can display text in various forms."""

    def __init__(self, master=None, cnf={}, **kw):

        """Construct a text widget with the parent MASTER.


        STANDARD OPTIONS


            background, borderwidth, cursor,

            exportselection, font, foreground,

            highlightbackground, highlightcolor,

            highlightthickness, insertbackground,

            insertborderwidth, insertofftime,

            insertontime, insertwidth, padx, pady,

            relief, selectbackground,

            selectborderwidth, selectforeground,

            setgrid, takefocus,

            xscrollcommand, yscrollcommand,


        WIDGET-SPECIFIC OPTIONS


            autoseparators, height, maxundo,

            spacing1, spacing2, spacing3,

            state, tabs, undo, width, wrap,


        """

        Widget.__init__(self, master, 'text', cnf, kw)


查看完整回答
反对 回复 2022-12-06
?
潇湘沐

TA贡献1816条经验 获得超6个赞

inspect模块可能会帮助您消除困惑。

In [37]: import inspect


In [38]: from tkinter import Text


In [39]: T = Text()


In [40]: inspect.isclass(Text)

Out[40]: True


In [41]: inspect.ismethod(Text)

Out[41]: False


In [42]: inspect.ismethod(T.pack)

Out[42]: True


查看完整回答
反对 回复 2022-12-06
  • 2 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信