tkinter教程1:用类和线程封装gui
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.
环境:
python版本:3.5
开发环境:pyCharm
说明:
python常用的gui有tkinter和pyqt等。tkinter的优势是语言自带,简单易学,适合用于做一些不在乎界面美观度的小工具。本系列文章介绍tkinter的常用控件。
gui最好封装在一个线程中,与业务代码分离出来。本文提供一个示例程序作为参考。
tkinter的布局方式建议以grid为主,辅助以pack。
打包:
使用pyinstaller将程序打包成exe。
命令:
pyinstaller -F test.py
如果增加参数-w就会隐藏终端窗口
如果工程中有多个py文件,可以将涉及到的py文件在打包的py文件中import即可。
源码:
import tkinter as tk
import threading
def main():
threading.Thread(target=gui_thread).start()
def gui_thread():
root = tk.Tk()
app = App(root)
root.mainloop()
class App:
def __init__(self, root):
frame = tk.Frame(root)
frame.pack()
self.button = tk.Button(frame, text='Hello', command=self.say_hi)
self.button.pack(side=tk.LEFT)
@staticmethod
def say_hi():
print('Hello World!')
if __name__ == '__main__':
main()
运行结果: