from tkinter import * #用import 好麻烦呢
root = Tk() #创建主窗口,容纳GUI
root.title('My note') #设置标题栏
theLabel = Label(root,text = 'This is my first GUI.') #添加Label组件
theLabel.pack() #调用Label组件的pack()方法,自动调整组件尺寸
root.mainloop() #进入主事件循环
还可以更加的OOP
from tkinter import *
class Application(Frame):
def __init__(self,master = None):
super().__init__()
self.pack()
self.createWidgets()
def createWidgets(self):
self.quitButton = Button(self, text='Quit', command=self.quit)
self.quitButton.grid()
root = Application()
root.mainloop()
# 导入tkinter包,为其定义别名tk
from tkinter import *
'''我们的程序可以直接创建一个Frame对象再向里面添加控件,但习惯上会从Frame类派生
出Application类(也可以叫其它名字),接下来我们需要为Application编写构造函数__init__,下面定义Application类表示应用/窗口,继承Frame类class Application(Frame)。'''
# Application构造函数,master为窗口的父控件
'''首先,__init__有两个参数。第一个是self,即Application对象本身。第二个是master,
在Tkinter中,一个控件可能属于另一个控件,这时另一个控件就是这个控件的master。
默认一个窗口没有master,因此master有None的默认值。'''
def __init__(self, master=None):#初始化Frame对象。master为Frame的父控件,默认为None
super().__init__() #继承父类必须的初始化
self.pack()
# self.createWidgets(),调用后面定义的createWidgets方法。
self.createWidgets()
# 创建控件
def createWidgets(self):
# 创建一个文字为'Quit',点击会退出的按钮
'''初始化Button对象。master为Button的父控件,默认为None;cnf尚不清楚;
这里和前面不同,不是初始化自身,而是创建了quitButton属性,因此不需要写Button.__init__(...),
而是直接写Button(...),也不需要像前面一样传入self。那为什么还要传入self呢?这个self
并不是对应于Button.__init__中的self参数,而是master参数,表示按钮的父控件是窗口!'''
self.quitButton = Button(self, text='Quit', command=self.quit)
# 显示按钮,并使用grid布局
self.quitButton.grid()
# 创建一个Application对象app
root = Application()
# 设置窗口标题为'First Tkinter'
root.master.title = 'First Tkinter'
# 主循环开始
root.mainloop()