前言
本教程取材自Tkinter By Python 可自行下载PDF和源代码
相关参数可以查询APItkinter 8.5 reference
更多教程可以查询https://wiki.python.org/moin/TkInter/
1.1 Basic Example
不使用类实现Hello World窗口的输出
import tkinter as tk
root=tk.Tk()
label=tk.Label(root,text='Hello World',padx=10,pady=10)
label.pack()
root.mainloop()
1.1.1 root=tk.Tk()创建了整个窗口
1.1.2 tk.Label创建标签,原型: w=tk.Label(parent,option,...)
此处,parent=root,就是窗口,option中,text的API如下,就是需要显示的字符串,padx,pady分别表示在工具左右和上下的空格数
text | To display one or more lines of text in a label widget, set this option to a string containing the text. Internal newlines ( |
padx | Extra space added to the left and right of the text within the widget. Default is 1. |
pady | Extra space added above and below the text within the widget. Default is 1. |
常用的option拓展:
fg或foreground设置文字的颜色, 如fg='red'(使用标准颜色名),也可以直接使用rgb(详见颜色API)
1.1.3label.pack()把label放置到root窗口
这只是放置的一种方法,作用是显示label,否则,label将会是看不见的,详情参见the-packer
另外还有grid()这种方法,使用的也比较多,但是grid() pack()二者不能够混合使用
4.root.mainloop()展示窗口
1.2使用类
import tkinter as tk
class Root(tk.Tk):
def __init__(self):
super().__init__()#从父类tk.Tk()继承初始化方法,需要传入除了self外的其他参数,此处没有参数,置空
self.label=tk.Label(self,text='Hello World',padx=5,pady=5)
self.label.pack()
if __name__=='__main__':
root=Root()
root.mainloop()
当不同的小工具(widgets)需要引用对方的时候,使用类就比较方便