在 Tkinter 应用程序中是否从 Frame 继承

tkinterpythongui-programming更新于 2025/6/17 23:08:17

在面向对象编程范式中,继承用于获取基类的属性并在派生类中使用它们。以 Tkinter 应用程序为例,我们可以将基类中定义的框架的所有属性(如背景色、前景色、字体属性等)继承到派生类或框架中。

为了支持继承,我们必须定义一个包含框架的一些基本属性(如高度、宽度、背景色、前景色、字体等)的类。

示例

# 导入 Tkinter 库
from tkinter import *

# 创建 Tkinter 框架的实例
win= Tk()

# 设置应用程序窗口的大小
win.geometry("700x350")

# 创建一个类来定义框架
class NewFrame(Frame):
   def __init__(self, win):
      super().__init__()
      self["height"] = 200
      self["width"] = 200
      self["bd"] = 10
      self["relief"] = RAISED
      self["bg"] = "#aa11bb"

# 创建 Frame 对象
frame_a= NewFrame(win)
frame_b= NewFrame(win)
frame_a.grid(row=0, column=0)
frame_b.grid(row=0, column=1)

win.mainloop()

输出

运行上述代码将显示一个窗口,其中包含两个框架,这两个框架具有与类中定义的框架相同的属性。


相关文章


有用资源