python TKinter的主窗口运行程序完毕后,怎么让其自动关闭

python TKinter的主窗口运行程序完毕后,怎么让其自动关闭,第1张

采用的是main函数对主窗口运行程序完毕自动关闭的命令:

from tkinter import *def main():

root = Tk()

b = Button(root, text='退出', command=root.quit)

b.pack()

mainloop()if __name__ == '__main__':

main()

扩展资料:

main函数的应用:

程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,雹答穗泛举败音即程序中的除main之外的其他函数,迎合思考方式而生成的而非必定的模式。有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。

模块化程序设计方法是把整个程序划分为若干功能较为单一的程序模块,然后源卜分别予以实现,最后再把所有的程序模块像搭积木一样装配起来。

利用函数可以实现程序的模块化,可以大大地减轻编码工作量。在函数内部或复合语句块内部定义的 auto 类型变量称为局部变量。

局部变量的作用域从该局部变量定义的位置开始到本函数或复合语句结束处。局部变量的生存期较短暂。当局部变量所在的函数被调用时,局部变量内存空间被分配,函数调用结束后,局部变量内存空间被释放。

函数的形参和实参均属于局部变量,调用函数时,形参内存空间被分配。函数调用结束后,形参内存空间被释放。C语言函数参数传递可分为三种情况:简单变量作为函数参数、数组名作为函数参数以及指针作为函数参数。

参考资料来源:百度百科-main函数

如果我没有理解错的话,看样子你应该不需要.net,就是自己的一个程序想要个图形界面而已。

我自己曾经也想给自己的程序添加图形界面,但是后来放弃了!因为尝试后发现太麻烦!比matlab写图形界面麻烦多了……最后我是用的后面加参数的调用方法,图形界面还是用vb开发好……反正用linux的根本不在乎图形界面。

扯远了……总体来说,python的图形界面最常用的就是两个,自带的tkinter(tcl/tk)和第三方的WxPython。后者比前者强大很多倍。不过,反正我自己觉得你用第一个也够了,还可以缩小体积增加兼容性。wxpython很强大,而且熟悉后开发很快。关键就是熟悉他麻烦,太多要学的了。听咱的,看几个简单例子用tkinter搞定得了……

好吧。tkinter大致过程如下。我个人觉得太小的程序就不用分成多个py文件了(反正我习惯不好),因为tkinter里面,定义窗体是一个tkinter的实例,然后再mainloop表示界面结束后,你可以尘稿随便定义自己的方法什么的。(为什么我总是跑题啊啊啊……)

咳咳。给你几个例子吧。

==============================================

强调:详细内容必须自己看说明!我会在文末和参考文献中给出!

当然,这个回答推荐你复制到具有语法加亮的编辑器中看,比如notepad++之类。

================================================

#首先是Fredrik Lundh版本的hello world,这是最简单的版本:

# File: hello1.py

from Tkinter import *

root = Tk()

w = Label(root, text="Hello, world!")

w.pack()

root.mainloop()

# root=Tk()将创建一个窗体。然后w.pack()的时候将内容更新上去。这盯脊句是最重要的一句,无论如何都少不了的。在后面的例子中你会注意到一开始定义了很多窗体的东西,但是最后都会用这句来生成窗体。然后用mainloop()来接收 *** 作。当然,这会彻底占用这个线程。

#================================

#再来看python官方doc文档里面的hello world,这个实力包含了大多数元素。

from Tkinter import *

class Application(Frame):

def say_hi(self):

print "hi there, everyone!"

def createWidgets(self):

self.QUIT = Button(self)

self.QUIT["text"] = "QUIT"

self.QUIT["fg"] = "red"

self.QUIT["command"] = self.quit

self.QUIT.pack({"side": "left"})

self.hi_there = Button(self)

self.hi_there["text"] = "Hello",

self.hi_there["command"] = self.say_hi

self.hi_there.pack({"side": "left"})

def __init__(self, master=None):

Frame.__init__(self, master)

self.pack()

self.createWidgets()

root = Tk()

app = Application(master=root)

app.mainloop()

root.destroy()

#这个实例里面包括了按钮,如何调用自己的方法,等等。但是没有文本框和菜单等。

#我想我不应该把所有的东西都写在这里了,比较这里面的东西很多,需要你自己学一下。

#但是相信我,这个学起来不wxpython容易多了,因为有很多凯兄渗写的很好的教程。

#除非,你英语不好。但是这也不会影响太多,因为把第一个教程(An Introduction to Tkinter ——by Fredrik Lundh)中的例子一个一个做一次你就明白了每个语句是什么用的了。

===========================

参考资料(一定要去看哦!比去论坛和邮件组方便多了!):

【1】An Introduction to Tkinter ——by Fredrik Lundh

online:http://www.pythonware.com/library/tkinter/introduction/index.htm

PDF: http://www.pythonware.com/media/data/an-introduction-to-tkinter.pdf

这本是推荐入门教程!因为例子真的很细很简单!和那本《a bite of python》(好像叫python简明教程?)相比真的很像!不过作者当然不是一个人了。

【2】Tkinter 8.4 reference: a GUI for Python ——by New Mexico Tech Computer Center

online:http://www.nmt.edu/tcc/help/pubs/tkinter/

PDF :http://www.nmt.edu/tcc/help/pubs/tkinter/tkinter.pdf

和名字取得一样,就是一本参考书,为了方便查询的。推荐读了第一本需要的时候查这个。说起来第一本就应该是”指南“了,哈哈……

【3】24.1. Tkinter — Python interface to Tcl/Tk —— Official library

online: http://docs.python.org/library/tkinter.html

这个是官方的参考。真不愧是官方的,一般人都看不懂……很详细的列出了很多东西,然后用很小的篇幅把他们都融入了进去,几乎没有例子。等你基本熟悉了之后在看吧,反正我觉得不看也罢,官方的东西都是裹脚布,还是用了很多年的那种!看的想骂人

=======================

基本上就是这样了。

反正命令行也挺好。因为python开发出的gui是在太丑了!想要好看的gui ?微软的Expression吧……那东西开发出来超好看。不过就必须用vb或者C#了……而且windows限定……


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12446972.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存