Python GUI程序类写法与Label介绍

目录
  • 经典的GUI程序类的写法
  • Label 的介绍

GUI应用程序类的经典写法 — 面向对象

通过类Application组织整个GUI程序,类Application继承了Frame以及通过继承拥有了父类的特性,通过__init__初始化窗口中的对象,通过createWidget()创建窗口中的对象

Frame框架是一个Tkiner的组件,表示一个矩形的区域,一般作为容器使用,可以放置其他组件,从而实现复杂的布局

经典的GUI程序类的写法

效果的基本示意图

from tkinter import *
from tkinter import messagebox
class Application(Frame):  # 继承Frame
    """
    一个经典的GUI程序类的写法
    """
    def __init__(self, master=None):
        """
        构造器,用来构造组件对象
        :param master:
        """
        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
        # 创建一个退出按钮
        # command绑定事件对象(相应函数)
        self.btn02 = Button(self, text='退出', command=root.destroy)
        self.btn02.pack()  # 通过布局管理器放到组件中
    def songhua(self):  # e就是事件对象
        messagebox.showinfo("Message", "送你一朵玫瑰花")
        print('送你玫瑰花')
if __name__ == '__main__':
    root = Tk()  # 根窗口对象
    root.geometry("400x100+300+300")
    root.title("一个经典那的GUI程序的测试")
    # 创建一个Application对象
    app = Application(master=root)  # master=root 创建的对象放到root里面
    root.mainloop()

实际效果图

Label 的介绍

参数的介绍

Label(text='程序员', width=10, height=2, bg='blue',fg='white',font=("黑体",30),justify='center')
"""
	text 文本内容
	width 宽度 一个英文占1个,一个汉字占2个
	height 高度
	bg  背景
	fg  前景色
	font=() 指定字体和大小
	justify 多行文字的对齐方式
"""

使用Label标签

添加内容,设置高度宽度,背景颜色,前景色,修改显示的字体和字号

		self.label01 = Label(self,text='程序员',width=10,height=2,bg='black',fg='white')
        self.label01.pack()
        self.label02 = Label(self, text='程序员2', width=10, height=2, bg='blue',
                             fg='white',font=("黑体",30),justify='center')
        self.label02.pack()

使用Lable标签显示图像

注意要将图片对象声明为全局变量

# 显示图像
        global photo  # 将phone声明成全局变量,如果是局部变量,本方法执行完图像就会销毁,窗口显出不出来
        photo = PhotoImage(file="py.png")  # 图像的路径,有些照片的类型python可能不支持,需要额外注意
        self.label03 = Label(self,image =photo,width=300,height=200)
        self.label03.pack()

多行文字对齐的方式选择

		self.label04 = Label(self, text="图片\n我有一个图片\n一个好看的图片", borderwidth=1,relief="solid",justify='right')
        self.label04.pack()

全部源代码

"""测试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='程序员',width=10,height=2,bg='black',fg='white')
        self.label01.pack()
        self.label02 = Label(self, text='程序员2', width=10, height=2, bg='blue',
                             fg='white',font=("黑体",30),justify='center')
        self.label02.pack()
        # 显示图像
        global photo  # 将phone声明成全局变量,如果是局部变量,本方法执行完图像就会销毁,窗口显出不出来
        photo = PhotoImage(file="py.png")  # 图片支持gif对象
        self.label03 = Label(self,image =photo,width=300,height=200)
        self.label03.pack()
        self.label04 = Label(self, text="图片\n我有一个图片\n一个好看的图片", borderwidth=1,relief="solid",justify='right')
        self.label04.pack()
if __name__ == '__main__':
    root = Tk()
    root.geometry("600x400+300+300")
    root.title("Label的测试")
    app = Application(master=root)
    root.mainloop()

到此这篇关于Python GUI程序类写法与Label介绍的文章就介绍到这了,更多相关Python GUI程序类 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-09-19

Python GUI 图形用户界面

目录 GUI介绍 简单操作 tkinter组件介绍 向窗体中添加按钮控件 使用文本框控件 使用菜单控件 使用标签控件 使用单选按钮和复选按钮组件 使用绘图组件 GUI介绍 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面.图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令.调用文件.启动程序或执行其它一些日常任务.与通过键盘输入文本或字符命令来完成

基于Python3编写一个GUI翻译器

目录 1.引言 2.代码实战 2.1 思路 2.2 实战 3.总结 1.引言 小屌丝:鱼哥,你说百度翻译的准确,还是google翻译的准确? 小鱼:自己翻译的最准确. 小屌丝:你这… 抬杠. 小鱼:没有啊,英语自己就能翻译,还需要啥翻译软件 小屌丝:如果是俄语,意大利语,西班牙语呢? 小鱼:你这是…抬杠. 小屌丝:也没有啊,我就是觉得网页版翻译器太麻烦了. 小鱼:早说啊,我这有现成的翻译器. 小屌丝:嗯?? 你下载的是什么翻译器? 小鱼:你觉得我会下载吗? 小屌丝:嗯,确实,那就是说,你自己写了

Python GUI布局工具Tkinter入门之旅

目录 图形用户界面 (GUI) 用于创建GUI的 Python 库 Tkinter 基础 Tkinter Widgets Label Button Entry Combobox Checkbutton Radio Button Scrolled Text Message Box SpinBox Geometry 组织布局 binding 函数 Images 和 Icons 计算器 APP 图形用户界面 (GUI) 图形用户界面 (GUI) 只不过是一个桌面应用程序,可帮助我们与计算机进行交互 像

Python实现GUI学生管理系统的示例代码

目录 序 言 代码解析 一.登录页面 二.主页面显示 三 .页面显示 四.查询数据 五.删除数据 六.修改数据 七.关于部分 八.数据保存,保存信息 序 言 哈喽兄弟们,好久不见!最近实在太忙了,所以又双叒叕断更了~ 表弟大学快毕业了,学了一个学期Python居然还不会写学生管理系统,真的给我丢脸啊,教他又不肯学,还让我直接给他写,我真想两巴掌上去,最终还是写了给他,谁让他是我表弟呢,关键时候还是得帮他一把! 写完了放在那也是放着,所以今天分享给大家吧! 话不多说,咱们直接开始吧! 代码解析 一

对python中GUI,Label和Button的实例详解

如下所示: #coding=utf-8 import Tkinter top=Tkinter.Tk() #400x300:代表初始化时主窗口的大小,300,100分别代表窗口的初始化位置 #x:为小写的x top.geometry('400x300+300+100') #创建一个文本框,里面内容为"hello world" lab=Tkinter.Label(top,text='hello world') #布局方式 lab.pack() #创建一个按钮 button=Tkinter.

python编写一个GUI倒计时器

本文实例为大家分享了python实现GUI倒计时器的具体代码,供大家参考,具体内容如下 代码: import tkinter as tk from time import time   print("hello world")     class TimeCounter:     def __init__(self):         root = tk.Tk()         root.title("计时器")         root.geometry('80

Python编写一个验证码图片数据标注GUI程序附源码

做验证码图片的识别,不论是使用传统的ORC技术,还是使用统计机器学习或者是使用深度学习神经网络,都少不了从网络上采集大量相关的验证码图片做数据集样本来进行训练. 采集验证码图片,可以直接使用Python进行批量下载,下载完之后,就需要对下载下来的验证码图片进行标注.一般情况下,一个验证码图片的文件名就是图片中验证码的实际字符串. 在不借助工具的情况下,我们对验证码图片进行上述标注的流程是: 1.打开图片所在的文件夹: 2.选择一个图片: 3.鼠标右键重命名: 4.输入正确的字符串: 5.保存 州

Python编写一个闹钟功能

音频文件放入和.py文件同级的目录下 import winsound # 导入此模块实现声音播放功能 import time # 导入此模块,获取当前时间 # 提示用户设置时间和分钟 my_hour = input("请输入时:") my_minute = input("请输入分:") flag = 1 while flag: t = time.localtime() # 当前时间的纪元值 fmt = "%H %M" now = time.str

python编写一个会算账的脚本的示例代码

python算账脚本 1.假如小明卡里有10000元去商场买东西发现钱不够又向父母借了5000账单如下 2.以下脚本就能实现上面的运算 from time import strftime import pickle import os try: def save(): data = strftime('\033[35m%Y-%m-%d\033[0m') money = int(input('How much do you have to save?:')) comment = input('Wh

使用python编写一个语音朗读闹钟功能的示例代码

想找一个可以播放文字的闹钟找不到,自己写一个更简单.TTS实现由很多种办法,百度等都提供了API接口,但类似百度,需要先注册等一系列动作. 其实windows自带的win32com功能可以简单实现TTS功能.要用到win32com模块, 可以通过如下指令进行安装 python -m pip install pypiwin32 安装以后就可以编写播放代码了如下 #coding:utf-8 import win32com.client spk = win32com.client.Dispatch("

基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算

方法一: 结合lambda表达式.函数调用运算符.标准库函数对象.C++11标准新增的标准库function类型,编写一个简单的计算器,可实现简单的加.减.乘.除.取余二元运算.代码如下: #include "pch.h" #include <iostream> #include <functional> #include <map> #include <string> using namespace std; int add(int i

使用Python编写一个最基础的代码解释器的要点解析

一直以来都对编译器和解析器有着很大的兴趣,也很清楚一个编译器的概念和整体的框架,但是对于细节部分却不是很了解.我们编写的程序源代码实际上就是一串字符序列,编译器或者解释器可以直接理解并执行这个字符序列,这看起来实在是太奇妙了.本文会用Python实现一个简单的解析器,用于解释一种小的列表操作语言(类似于python的list).其实编译器.解释器并不神秘,只要对基本的理论理解之后,实现起来也比较简单(当然,一个产品级的编译器或解释器还是很复杂的). 这种列表语言支持的操作: veca = [1,

用Python编写一个简单的Lisp解释器的教程

本文有两个目的: 一是讲述实现计算机语言解释器的通用方法,另外一点,着重展示如何使用Python来实现Lisp方言Scheme的一个子集.我将我的解释器称之为Lispy (lis.py).几年前,我介绍过如何使用Java编写一个Scheme解释器,同时我还使用Common Lisp语言编写过一个版本.这一次,我的目的是尽可能简单明了地演示一下Alan Kay所说的"软件的麦克斯韦方程组" (Maxwell's Equations of Software). Lispy支持的Scheme

Python编写一个优美的下载器

本文实例为大家分享了Python编写下载器的具体代码,供大家参考,具体内容如下 #!/bin/python3 # author: lidawei # create: 2016-07-11 # version: 1.0 # 功能说明: # 从指定的URL将文件取回本地 ##################################################### import http.client import os import threading import time impo

用Python编写一个简单的FUSE文件系统的教程

如果你是我的长期读者,那么你应该知道我在寻找一个完美备份程序,最后我写了一个基于bup的我自己的加密层. 在写encbup的时候,我对仅仅恢复一个文件就必须要下载整个巨大的档案文件的做法不甚满意,但仍然希望能将EncFS和 rdiff-backup一起使用来实现可远程挂载.加密.去重.版本化备份的功能. 再次试用obnam 后(啰嗦一句:它还是慢的出奇),我注意到了它有一个mount命令.深入研究后,我发现了fuse-python和fusepy,感觉用Python写一个FUSE文件系统应该挺简单

使用Python编写一个简单的tic-tac-toe游戏的教程

这个教程,我们将展示如何用python创建一个井字游戏. 其中我们将使用函数.数组.if条件语句.while循环语句和错误捕获等. 首先我们需要创建两个函数,第一个函数用来显示游戏板: def print_board(): for i in range(0,3): for j in range(0,3): print map[2-i][j], if j != 2: print "|", print "" 这我们使用两个for循环来遍历map,该map是一个包含了位置