>  기사  >  백엔드 개발  >  tkinter 모듈의 클래스에 대한 세 가지 상속 방법의 Python 공유 예

tkinter 모듈의 클래스에 대한 세 가지 상속 방법의 Python 공유 예

黄舟
黄舟원래의
2017-08-08 11:18:222515검색

이 글에서는 주로 Python tkinter 모듈의 세 가지 클래스 상속 방법을 소개합니다. 세 가지 상속 방법의 구현 방법과 관련 주의 사항을 예제 형식으로 분석합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

이 글에서는 Python에 대해 설명합니다. 예제가 포함된 tkinter 모듈 클래스 상속의 세 가지 방법. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

tkinter 클래스 상속에는 세 가지 방법이 있습니다.

이러한 상속의 작업 방법에 주의하세요

1. 객체 상속

1. tk.Frame을 상위 항목으로 확산:

지침:

self.rootframe = tk .Frame(상위)<code>self.rootframe = tk.Frame(parent)<br>tk.Label(self.rootframe)


import tkinter as tk
class MyApp(object):
  def __init__(self, parent):
    self.rootframe = tk.Frame(parent)
    self.rootframe.pack()
    self.setupUI()
  def setupUI(self):
    tk.Label(self.rootframe, text=&#39;标签&#39;).pack()
if __name__ == &#39;__main__&#39;:
  root = tk.Tk()
  MyApp(root) # 注意这句
  root.mainloop()

2.直接使用root

说明:

self.root = parent<br>tk.Label(self.root)


import tkinter as tk
class MyApp(object):
  def __init__(self, parent, **kwargs):
    self.root = parent
    self.root.config(**kwargs)
    self.setupUI()
  def setupUI(self):
    tk.Label(self.root, text = &#39;标签&#39;).pack()
if __name__ == &#39;__main__&#39;:
  root = tk.Tk()
  app = test(root)
  root.mainloop()

二、继承 tk.Tk


import tkinter as tk
class MyApp(tk.Tk):
  def __init__(self):
    super().__init__()
    self.setupUI()
  def setupUI(self):
    tk.Label(self, text=&#39;标签&#39;).pack()
if __name__ == &#39;__main__&#39;:
  MyApp().mainloop()

三、继承 tk.Frame

分两种情况

1.有parent


import tkinter as tk
class MyApp(tk.Frame):
  def __init__(self, parent=None):
    super().__init__(parent)
    self.pack()
    self.setupUI()
  def setupUI(self):
    tk.Label(self, text=&#39;标签&#39;).pack()
if __name__ == &#39;__main__&#39;:
  MyApp(tk.Tk()).mainloop()
  #MyApp().mainloop() # 也可以这样

注意: self.pack()tk.Label(self.rootframe)

import tkinter as tk
class MyApp(tk.Frame):
  def __init__(self):
    super().__init__()
    self.pack()
    self.setupUI()
  def setupUI(self):
    tk.Label(self, text=&#39;标签&#39;).pack()
if __name__ == &#39;__main__&#39;: 
  MyApp().mainloop()

2. 루트를 직접 사용

🎜지침: 🎜🎜self.root = parent🎜tk.Label( self.root)🎜🎜🎜🎜rrreee🎜🎜🎜 2. tk를 상속합니다. .Yes parent🎜🎜🎜🎜🎜rrreee🎜참고: self.pack()🎜🎜🎜2. 부모 없음🎜🎜🎜🎜🎜rrreee

위 내용은 tkinter 모듈의 클래스에 대한 세 가지 상속 방법의 Python 공유 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.