简单 Python 快乐之旅之:Python 基础语法之 GUI 专题
Posted Defonds
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单 Python 快乐之旅之:Python 基础语法之 GUI 专题相关的知识,希望对你有一定的参考价值。
文章目录
1. Python tkinter 设置特定或固定的窗口大小
在使用 Python tkinter 给窗口设置一个特定大小时,使用 Tk() 类变量的 geometry() 函数。
from tkinter import *
gui = Tk()
gui.geometry("widthxheight")
其中,width 和 height 应该分别由表示窗口宽度和高度的整型数字所代替。留意传递给 geometry() 的 width 和 height 变量之间有一个 x。
注意:请注意窗口大小 width x height 并不包含窗口标题部分。
1.1. 示例一:在 Python tkinter 中设置窗口大小
在本示例中,我们将使用 geometry() 方法来给 Tk() 窗口设置一个固定的 500 乘 200 的大小。
from tkinter import *
gui = Tk(className='Python Examples - Window Size')
# set window size
gui.geometry("500x200")
gui.mainloop()
执行和输出:
可以看到,在执行改程序的时候,将会打开一个由 geometry() 函数中定义窗口大小的 GUI 窗口。
1.2. 设置窗口大小
现在我们来改变一下提供给 geometry() 函数的宽度和长度,比如 300 乘 300。
from tkinter import *
gui = Tk(className='Python Examples - Window Size')
# set window size
gui.geometry("300x300")
gui.mainloop()
执行和输出:
1.3. 小结
本节我们通过详尽的示例了解到如何给基于 tkinter 的 GUI 程序设置窗口大小。
2. Python tkinter 按钮例子
2.1. Python tkinter 按钮
我们将使用 Python 的 tkinter 库来实现 Python GUI 里的按钮。
添加一个按钮到 tkinter 窗口的语法如下:
mybutton = Button(master, option=value)
mybutton.pack()
其中 master 是为你要添加到的那个窗口。tkinter 库为按钮构造子提供了不同的选项以更改其外观。
选项 | 值 |
---|---|
text | 按钮标签的文本显示 |
width | 设置按钮的宽度 |
height | 设置按钮的高度 |
bg | 设置按钮的背景色 |
fg | 设置按钮标签的字体颜色 |
activebackground | 设置按钮被点击后的背景色 |
activeforeground | 设置按钮被点击后的按钮标签的字体颜色 |
command | 当按钮被点击时要调用的函数 |
font | 设置按钮标签的字体大小、格式 |
image | 设置按钮图片 |
2.2. 示例一:使用 tkinter 库的按钮
在接下来的示例中,我们将创建一个 tkinter 按钮。
from tkinter import *
gui = Tk(className='Python Examples - Button')
gui.geometry("500x200")
# create button
button = Button(gui, text='My Button', width=40, height=3, bg='#0052cc', fg='#ffffff', activebackground='#0052cc', activeforeground='#aaffaa')
# add button to gui window
button.pack()
gui.mainloop()
执行和输出:
2.3. 小结
本节我们了解到了如何使用 tkinter 库来创建一个 GUI 按钮。
3. 按钮点击调用函数
当一个 tkinter 按钮被点击的时候,你可以使用 command 属性来调用一个函数。将你希望按钮被点击时要调用到的函数名指派给 command 属性即可。
以下是按钮被点击时调用一个函数的伪代码:
def someFunction:
function body
tkWindow = Tk()
button = Button(tkWindow, command=someFunction)
或者你也可以在定义该按钮之后指派 command:
def someFunction:
function body
tkWindow = Tk()
button = Button(tkWindow)
button['command'] = someFunction
3.1. 按钮点击事件调函数
from tkinter import *
from tkinter import messagebox
tkWindow = Tk()
tkWindow.geometry('400x150')
tkWindow.title('Defonds.net Tkinter Example')
def showMsg():
messagebox.showinfo('Message', 'You clicked the Submit button!')
button = Button(tkWindow, text='Submit', command=showMsg)
button.pack()
tkWindow.mainloop()
执行和输出:
在提供用户点击按钮后调用函数时需要注意:
- 在按钮的定以前定义该函数
- command 选项的值是不带任何引号的函数名
4. 更改字体系列、字体大小及格式
要更改字体属性,如字体系列、字体大小、字体粗细等,可以使用 tkinter.font 包。
在程序中,引入 tkinter.font as font 并提供变量给 font.Font()。
4.1. 改变 tkinter 按钮的字体系列
以下示例中,我们将通过使用 family 命名参数给 font.Font() 来改变 tkinter 按钮的字体系列。
from tkinter import *
import tkinter.font as font
gui = Tk(className='Python examples - Button')
gui.geometry('500x200')
# define font
myFont = font.Font(family='Helvetica')
# create button
button = Button(gui, text='My Button', bg='#0052cc', fg='#ffffff')
# apply font to the button label
button['font'] = myFont
# add button to gui window
button.pack()
gui.mainloop()
执行和输出:
如果没有提供 font,该按钮看起来会是这个样子:
4.2. 改变 tkinter 按钮的字体大小
我们还可以通过传递命名参数 text 给 font.Font() 来改变 tkinter 按钮中文本的字体大小。
from tkinter import *
import tkinter.font as font
gui = Tk(className='Python examples - Button')
gui.geometry('500x200')
# define font
myFont = font.Font(size=30)
# create button
button = Button(gui, text='My Button', bg='#0052cc', fg='#ffffff')
# apply font to the button label
button['font'] = myFont
# add button to gui window
button.pack()
gui.mainloop()
执行和输出:
4.3. 改变 tkinter 按钮的字体粗细
我们还可以通过传递命名参数 weight 给 font.Font() 来改变 tkinter 按钮中文本的字体粗细。
from tkinter import *
import tkinter.font as font
gui = Tk(className='Python examples - Button')
gui.geometry('500x200')
# define font
myFont = font.Font(weight='bold')
# create button
button = Button(gui, text='My Button', bg='#0052cc', fg='#ffffff')
# apply font to the button label
button['font']=myFont
# add button to gui window
button.pack()
gui.mainloop()
执行和输出:
4.4. 改变 tkinter 按钮的字体系列、字体大小以及字体粗细。
我们可以把以上设置打包一起传给 font.Font()。
from tkinter import *
import tkinter.font as font
gui = Tk(className='Python examples = Button')
gui.geometry('500x200')
# define font
myFont = font.Font(family='Helvetica', size=20, weight='bold')
# create button
button = Button(gui, text='My Button', bg='#0052cc', fg='#ffffff')
# apply font to the button label
button['font']=myFont
# add button to gui window
button.pack()
gui.mainloop()
执行和输出:
我们将字体系列改为 Courier 然后重新运行该程序:
myFont = font.Font(family='Courier', size=20, weight='bold')
执行和输出:
4.5. 小结
本节中,我们通过详尽的示例,演示了如何改变 tkinter 按钮的字体系列、字体大小以及字体粗细。
参考资料
- Python tkinter Set Specific or Fixed Window Size
- Python Button Example
- Python tkinter – Call a Function on Clicking Button
- Python tkinter Button – Change Font Style
以上是关于简单 Python 快乐之旅之:Python 基础语法之 GUI 专题的主要内容,如果未能解决你的问题,请参考以下文章
简单 Python 快乐之旅之:Python 基础语法之一般应用专题
简单 Python 快乐之旅之:Python 基础语法之关键字专题