当前位置:  开发笔记 > 编程语言 > 正文

类应用程序(框架)如何工作?

如何解决《类应用程序(框架)如何工作?》经验,为你挑选了1个好方法。

我有个问题.我认为一个类可以基于一个对象或以前定义类.当我将其更改为类Application(对象)时:它不起作用.你能告诉我为什么它不起作用,为什么下面的代码有效或为什么类应用程序(框架)有效?Frame不是先前定义的对象而不是对象.对不起我的英语不好.这是我的代码:

# Lazy Buttons
# Demonstrates using a class with tkinter

from tkinter import *

class Application(Frame): #
    """ A GUI application with three buttons. """
    def __init__(self, master):
        super(Application, self).__init__(master)
        self.grid()
        self.create_widgets()

    def create_widgets(self):
        """  Create three buttons that do nothing. """
        # create the first Button
        self.bttn1 = Button(self, text= "I do nothing.")
        self.bttn1.grid()

        # create second button
        self.bttn2 = Button(self)
        self.bttn2.grid()
        self.bttn2.configure(text="Me too!")

        # create third button
        self.bttn3 = Button(self)
        self.bttn3.grid()
        self.bttn3["text"] = "Same here!"

# main
root= Tk()
root.title("Lazy Buttons")
root.geometry("200x85")

app = Application(root)

root.mainloop()

Wander Nauta.. 5

Frame是以前定义的类.它是tkinter您在第一行导入的一部分.

你的Application类扩展Frame,这意味着它从中获取方法,Frame并且可以完成Tk Frame可以执行的所有操作,例如show widgets.如果你不扩展Frame,而只是扩展object,这将无效.

更换可能更清楚......

from tkinter import *

与...

import tkinter as tk

并修复你对Tk类的引用(它们将成为tk.Button,tk.Frame和tk.Tk).



1> Wander Nauta..:

Frame是以前定义的类.它是tkinter您在第一行导入的一部分.

你的Application类扩展Frame,这意味着它从中获取方法,Frame并且可以完成Tk Frame可以执行的所有操作,例如show widgets.如果你不扩展Frame,而只是扩展object,这将无效.

更换可能更清楚......

from tkinter import *

与...

import tkinter as tk

并修复你对Tk类的引用(它们将成为tk.Button,tk.Frame和tk.Tk).

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有