小言_互联网的博客

PYTHON GUI编程

337人阅读  评论(0)

使用tkinker包步骤

  1. 创建一个窗口。
  2. 向窗口中添加控件。
  3. 为控件定义事件处理程序。

创建一个窗口

在GUI环境中,所有的事情都跟窗口有关。所以创建GUI应用的第一步是为你的应用创建主窗口,被叫做根窗口。
你可以创建一个Tk对象来完成这件事情,这个对象包含了你的窗口的方方面面。要创建一个Tk对象,首先是导入tkinter库,然后初始化一个Tk对象,代码如下:
from tkinter import *
root = Tk()

代码运行结果

这会创建一个窗口对象,,然后赋值给变量root。单只这个默认的窗口没有任何大小、标题或者功能。
下一步为窗口设置一些特性,有两种常用方法:

  1. title() 设置窗口标题;
  2. geometry() 设置窗口大小。
    例如:
    root.title('This is a test window')
    root.geometry('300x100')

    代码运行结果

向窗口中添加控件

向一个窗口添加控件需要3个步骤:

  1. 在窗口中创建一个框架模板;
  2. 定义一个定位方法用来在框架中放置控件;
  3. 使用你选择的定位方法将控件放到窗口中。

在窗口中创建一个框架模板
tkinter包使用Frame对象为你创建一个区域用来在窗口中放置控件。我们可以创建一个基于Frame子类,在其中定义所有的窗口方法和属性,我们可以给Frame子类起任何名字,但是这个类最流行的名称是Application,如下所示:
class Application(Frame)

现在我们可以创建一个窗口Frame类:

class Application(Frame):
"""MY window application"""

def __init__(self,master):
	super(Application,self).__init__(master)
	self.grid()
root = Tk()
root.title('Test Application window')
root.geometry('300x100')
app = Application(root)
app.mainloop()


代码运行结果

这时虽然看起来和创建裸的Tk对象一样,但是现在的窗口有一个框架,这时你可以开始向Application对象中添加控件了。

定位控件
这里我们使用grid()方法定位控件,tkinter包提供了3种方法定位控件:

  • 使用网格系统
  • 将控件放到可利用位置
  • 使用位置值

网格方法定义了三个参数:

objiect.grid(row = x,column = y,sticky = n)

值 row和 column 是在布局中的格子的引用,0行0列开始于窗口的左上角。参数 sticky 说明如何对齐,共有9种可能的sticky值。

  • N — 控件在格子上方
  • S — 控件在格子下方
  • E — 右对齐控件
  • W — 左对齐控件
  • 以此类推有NE、NW、SE、SW、CENTER

定义控件

我们可以通过在类的构造函数中调用create_widgets()方法:

from tkinter import *
class Application(Frame):
	def __init__(self,master):
		super(Application,self).__init__(master)
		self.grid()
		self.create_widgets()

	def create_widgets(self):
		self.label1 = Label(self,text = 'Welcome to my window!')
		self.label1.grid(row = 0,column = 0,sticky = W)

root = Tk()
root.title('This is a test window')
root.geometry('300x100')
app = Application(root)
app.mainloop()


代码运行结果


转载:https://blog.csdn.net/mantouyouyou/article/details/105189893
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场