GUI 图像用户界面编程1

这篇博客介绍了GUI图形用户界面编程的基础知识,主要关注Python中的Tkinter模块。内容包括创建根窗口、添加组件、布局管理和事件处理。通过示例展示了Label、Entry、Text以及Radiobutton和Checkbutton等组件的用法。
摘要由CSDN通过智能技术生成

GUI (Graphics User Interface),即图形用户界面编程,我们可以通过python提供的丰富的组件,快速实现使用图形化界面的交互。

基于tkinter模块的GUI

Tkinter的官方网址:https://docs.python.org/3.7/library/tk.html
基于tkinter模块创建的程序包含如下4个核心步骤:
1、创建应用的主窗口对象(根窗口)
2、在主窗口中添加可视化组件,比如:按钮(Button)、文本框(Lable)等
3、通过几何布局管理器,管理组件的大小和位置
4、事件处理

【示例】

from tkinter import *
from tkinter import messagebox

root = Tk()
btn01 = Button(root)
btn01['text'] = "点我就送花"
btn01.pack()

def songhua(e):
    messagebox.showinfo("Message","送你一朵玫瑰花,请你爱上我")
    print("送你99朵玫瑰花")

btn01.bind("<Button-1>",songhua)
root.mainloop()

采用面向对象的编程语言处理GUI应用程序:

通过类Application组织整个GUI程序,类Application继承了Frame及通过继承拥有了父类的特性。
【示例】

"""测试一个经典的GUI程序的写法,使用面向对象的方式"""
from tkinter import *
from tkinter import messagebox

class Application(Frame):
    """一个经典的GUI程序的类的写法"""
    def __init__(self, master=None):
        super().__init__(master)  # super()代表的是父类的定义,而不是父类对象
        self.master = master
        self.pack()
        self.createWidget()
        
    def createWidget(self):
        """创建组件"""
        self.btn01 = Button(self)
        self.btn01["text"] = "点击送花"
        self.btn01.pack()
        self.btn01["command"] = self.songhua
        # 创建一个退出按钮
        self.btnQuit = Button(self, text="退出",command=root.destroy)
        self.btnQuit.pack()
        
    def songhua(self):
        messagebox.showinfo("送花", "送你99 朵玫瑰花")


if __name__ == '__main__':
    root = Tk()
    root.geometry("400x100+200+300")
    root.title("一个经典的GUI 程序类的测试")
    app = Application(master=root)
    root.mainloop()

简单组件
Label 标签
Label 标签主要用于显示文本信息,也可以显示图像。
【示例】

"""测试Label 组件的基本用法,使用面向对象的方式"""
from tkinter import *

class Application(Frame):

    def __init__(self, master=None):
        super().__init__(master)  # super()代表的是父类的定义,而不是父类对象
        self.master = master
        self.pack()
        self.createWidget()

    def createWidget(self):
        """创建组件"""
        self.label01 = Label(self, text="今天9月份啦", width=12, height
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值