桂林市建设工程质量监督站网站,视频网站采集规则,普通企业网站费用,证明做二维码打款网站链接当你想写大一点的程序的时候#xff0c;将你的代码封装到一个或者多个类里会是一个不错的办法。下面hello world这个例子来自Matt Conway的Tkinter Life Preserver. [python]view plain copy from Tkinter import * class App: def __init__(self, master): …当你想写大一点的程序的时候将你的代码封装到一个或者多个类里会是一个不错的办法。下面hello world这个例子来自Matt Conway的Tkinter Life Preserver. [python] view plain copy from Tkinter import * class App: def __init__(self, master): frame Frame(master) frame.pack() self.button Button( frame, textQUIT, fgred, commandframe.quit ) self.button.pack(sideLEFT) self.hi_there Button(frame, textHello, commandself.say_hi) self.hi_there.pack(sideLEFT) def say_hi(self): print hi there, everyone! root Tk() app App(root) root.mainloop() root.destroy() # optional; see description below 当你运行程序时会出现下面的窗口。 如果你点击右边的按键 “hi there, everyone!” 将会输出在控制台。 如果你点击左边的按键程序就会终止。 程序讲解 这个简单的程序是用类写的. 构造器 (__init__ 方法) 接受一个主窗口作为参数root, 然后创建了几个子控件。 构造器首先创建了一个 Frame控件。frame是一个简单的容器,在这个例子中他仅仅用来防止其它2个控件。 class App:def __init__(self, master):frame Frame(master)frame.pack()我们通过Frame类创建一个实例并把它保存为实例的局部变量 frame. 之后我们对其使用pack方法使其可见。 然后我们创建2个Button作为frame的子控件。 self.button Button(frame, textQUIT, fgred, commandframe.quit)
self.button.pack(sideLEFT)self.hi_there Button(frame, textHello, commandself.say_hi)
self.hi_there.pack(sideLEFT)这一次我们通过关键字参数的形式给构造函数船体几个参数。 第一个button的text属性为“QUIT”并设置前景色为红色。第一个button的text属性为“Hello”.。这两个Button的command选型也都设置了参数。这个选项用来设置一个函数或者绑定的方法当button被点击时相应的函数或者方法就会调用。 这两个button实例作为实例属性存储。他们都使用pack方法但这次还使用了 sideLEFT参数。这意味着他们将会被尽可能的放置在frame的左边; 第一个button会被放在frame的左边,第二个button会紧贴着第一个button放置。一般来说控件被放置的位置都是相对于他们的主控件而言的。如果没有指定side选项默认为sideTOP. “hello” button 的回调函数如下所示。当用鼠标点击button时它至是简单的想控制台输出一行信息: def say_hi(self):print hi there, everyone!最后我们写一些代码创建 Tk root 窗口, 并把它作为参数传递给App类它会成为其它控件的父窗口。 root Tk()app App(root)root.mainloop()
root.destroy()调用 mainloop 使Tk进入事件循环, 当点击QUIT或者关闭窗口时程序才会终止。 destroy只有你在特殊的环境下运行这个例子才需要;当时间循环被终止的时候它会明确的释放这个窗口。 一些开发环境只有调用这个方法才会终止Python进程。转载于:https://www.cnblogs.com/monsteryang/p/6558523.html