【Python入门】38.第一个GUI程序

摘要:教你如何使用Python内置的Tkinter,创建第一个GUI程序。


写在前面:为了更好的学习python,博主记录下自己的学习路程。本学习笔记基于廖雪峰的Python教程,如有侵权,请告知删除。欢迎与博主一起学习Pythonヽ( ̄▽ ̄)ノ


目录

  • 图形界面
    • Tkinter

图形界面

Python支持多种图形界面的第三方库,包括Tk,wxWidgets,Qt,GTK等。

本文介绍如何使用Tkinter进行GUI编程。

Python内置了Tkinter,Tkinter封装了访问图形库Tk的接口,通过Tkinter就能完成简单的GUI编程。

Tkinter

创建一个GUI程序的步骤如下:
1.导入Tkinter模块;
2.创建一个继承Frame的类(Frame是用来放控件的容器,你可以理解为一个矩形框架);
3.创建控件
4.指定控件的master;
5.启动消息循环

第一个GUI程序:

from tkinter import *                    # 引入Tkinter包的所有内容

class A(Frame):                          # 定义一个Frame类
    def __init__(self, master=None):     
        Frame.__init__(self, master)     
        self.pack()                      # 把控件放到主界面,实现布局
        self.createWidgets()             # 调用创建控件的方法

    def createWidgets(self):
        self.helloLabel = Label(self, text='Hello,world!')       # 创建label控件,用于显示文本或位图
        self.helloLabel.pack()                         # 把label控件放到主界面
        self.quitButton = Button(self, text='Quit', command=self.quit)    # 创建button控件,用于退出
        self.quitButton.pack()

app = A()                                          # 实例化A
app.master.title('The first GUI')                  # 设置窗口标题
app.master.geometry('200x100')                     # 设置窗口大小
app.mainloop()                                     # 启动消息循环

结果显示如下:
【Python入门】38.第一个GUI程序_第1张图片

当然,还能加入其它很多控件,如加入文本框,让用户输入文本,然后显示信息。

这时候我们需要引入一个messagebox模块,具体代码()如下:

from tkinter import *
import tkinter.messagebox as messagebox

class A(Frame):
    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

    def createWidgets(self):
        self.nameInput = Entry(self)                              # Entry让用户输入文本
        self.nameInput.pack()
        self.alertButton = Button(self, text='Hello', command=self.hello)   # 加入button控件,按钮嗲用hello方法
        self.alertButton.pack()

    def hello(self):
        name = self.nameInput.get() or 'world'                    # 拿取用户输入的文本
        messagebox.showinfo('Message', 'Hello, %s' % name)        # 弹出消息对话框

app = A()
app.master.title('Hello World')
app.mainloop()

结果显示如下:
【Python入门】38.第一个GUI程序_第2张图片

核心控件介绍:

控件名称 功能
Button 按钮控件,创建一个按钮
Canvas 绘图控件,用于显示图形或文本
Checkbutton 多选框控件,显示一个多项选择框
Entry 输入控件,让用户输入文本
Text 文本控件,显示多行文本
Frame 框架控件,存放控件的容器
Label 标签控件,用于显示文字或位图
Listbox 列表框控件,显示字符串列表
Menu 菜单控件,显示菜单栏
Menubutton 菜单按钮控件,显示菜单项
Message 消息控件,显示多行文本,与label类似
Radiobutton 单选框控件,显示一个单向选择框
Scale 范围控件,创建一个滑块用于设置一个范围数值
Scrollbar 滚动条框架,当界面超过可视化区域时使用
Toplevel 容器框架,用于创建子窗口

Python内置的Tkinter可以满足基本的GUI程序的要求,如果是非常复杂的GUI程序,建议用操作系统原生支持的语言和库来编写。


以上就是本节的全部内容,感谢你的阅读。

下一节内容:网络编程

有任何问题与想法,欢迎评论与吐槽。

和博主一起学习Python吧( ̄▽ ̄)~*

你可能感兴趣的:(Python入门,学习笔记)