迁安做网站,专业的聊城网站优化,企业广告策划公司,做视频网站版权怎么解决本文介绍了GUI的图形界面编程#xff08;相关视频是哔站上的应该搜这个题目就能找到#xff09;#xff0c;文章还是很基础的#xff0c;反正我是小白从0开始#xff0c;主要的结构tinkter库、重要组件简介#xff08;这个不用死记硬背 用的时候再说#xff09;、Label相关视频是哔站上的应该搜这个题目就能找到文章还是很基础的反正我是小白从0开始主要的结构tinkter库、重要组件简介这个不用死记硬背 用的时候再说、Label我一直以为是Lable、option、Button后续还会涉及到其实很多代码部分是重复的因为框架是固定的跟着敲两遍就记住了还是要动手。 
以前不知道Python的前端长什么样现在知道喽~~ 感觉Django也不错下次可以试试。 
还是希望佬们能点个赞吧 
目录 
1. tinkter库 
2. 窗口大小和位置 
3. GUI编程整体描述_重要组件汇总 
4. GUI程序的景点面向对象写法 
5. Label组件_tkinter中图像正确显示全局变量的写法 
1. 显示文本 
2. 显示图像 
3. 自定义样式 
4. 锚点和位置 
5. 响应事件 
实例代码展示 
6. options选项详解--底层源码分析和阅读_可变参数 运算符 重载复习 
1. 可变参数指的是“可变数量的参数”。分两种情况: 
2. 设置option选项 
7. Button_anchor锚点位置控制 
8. Entry_StringVar登录界面设计和功能实现 1. tinkter库 
2. 窗口大小和位置 
tkinter 主窗口 
geometry(wxh/-x/y)来进行设置窗口的大小和位置 
# P1 Tkinter库
# P2 tkinter 主窗口
# geometry(wxh/-x/y)来进行设置
from tkinter import *
from tkinter import messagebox
root  Tk()  # 窗口对象
root.title(我的第一个GUI程序)
root.geometry(500x300100200)
# 组件
btn01  Button(root)
btn01[text]  点我就送花
# 布局管理器
btn01.pack()  #
# 定义事件
def songhua(e):       # e表示事件对象messagebox.showinfo(Message, 送你一朵小红花)print(爱你99)
# 事件绑定
btn01.bind(Button-1, songhua)  # Button-1表示鼠标左键单击
root.mainloop()      # 窗口 调用组件的mainloop()方法进入事件循环 3. GUI编程整体描述_重要组件汇总 4. GUI程序的景点面向对象写法 # P4 GUI程序的景点面向对象写法
测试一个经典的GUI程序写法使用面向对象的方式
from tkinter import *
from tkinter import messagebox
# Frame 是一个组件
class Application(Frame):def __init__(self, masterNone):super().__init__(master)  # 调用父类Frame的方法self.master  masterself.pack()  #布局管理器self.createWidget()
def createWidget(self):创建组件self.btn01  Button(self)self.btn01[text]  点击送花self.btn01.pack()self.btn01[command]  self.songhua
# 创建一个退出按钮self.btn01Quit  Button(self, text退出, commandroot.destroy)self.btn01Quit.pack()
def songhua(self):messagebox.showinfo(送花, 送你一朵小红花)
if __name__  __main__:# 创建根窗口对象root  Tk()root.geometry(500x300100200)root.title(一个经典的GUI程序类的测试)app  Application(masterroot)
root.mainloop()  # 事件循环 5. Label组件_tkinter中图像正确显示全局变量的写法 
Label标签主要用于显示文本信息也可以显示图像不可编辑。 
Label的主要标签  文心一言 
在Tkinter中虽然通常我们提到的是Label用于显示文本信息但Tkinter的Label组件实际上也支持显示图像。要在Tkinter中使用Label显示图像你通常会使用PhotoImage对于Tkinter支持的图像格式如GIF和PPM或者通过PILPython Imaging Library现在更常用的是Pillow库来加载和处理更广泛的图像格式如JPEG、PNG等然后将这些图像作为Label的image属性来显示。 
关于Label组件的常用功能和几个简单介绍 
1. 显示文本 
Label组件最基本的功能就是显示文本。你可以通过text参数来指定要显示的文本内容。 
from tkinter import Tk, Label
root  Tk()
label  Label(root, textHello, Tkinter!)
label.pack()
root.mainloop() 
2. 显示图像 
为了显示图像你需要先加载图像然后将其作为Label的image属性。注意对于非GIF图像你可能需要使用Pillow库。 
from tkinter import Tk, Label
from PIL import Image, ImageTk
root  Tk()
# 假设你有一个名为image.png的图像文件
image  Image.open(image.png)
photo  ImageTk.PhotoImage(image)
label  Label(root, imagephoto)
label.image  photo  # 保留对图像的引用防止被垃圾回收
label.pack()
root.mainloop() 
3. 自定义样式 
Label组件支持多种样式自定义比如你可以通过fg前景色即文本颜色和bg背景色来设置文本和背景的颜色。 label  Label(root, textColored Text, fgblue, bgyellow) 4. 锚点和位置 
你可以通过anchor参数来设置文本或图像在Label中的锚点位置如左上角、中心、右下角等以及通过布局管理器如pack(), grid(), place()来控制Label在窗口中的位置。 label  Label(root, textCentered Text, anchorcenter)
label.pack(expandTrue)  # 使用pack时expandTrue可以让Label扩展以填充整个窗口 5. 响应事件 
虽然Label本身不是为交互设计的但你可以通过将其与事件如鼠标点击绑定来创建简单的交互。不过这通常需要与另一个组件如Button结合使用或者通过自定义的方式来捕捉事件。 
def on_click(event):print(Label clicked!)
label  Label(root, textClick Me)
label.bind(Button-1, on_click)  # 绑定鼠标左键点击事件
label.pack() 
请注意直接在Label上绑定事件并不是常见的做法因为它主要是为显示信息而设计的。对于需要用户交互的场景使用Button或Canvas等组件可能更合适。 
实例代码展示 
# P5 Label组件_tkinter中图像正确显示全局变量的写法
from tkinter import *
# from tkinter import messagebox
class Application(Frame):def __init__(self, masterNone):super().__init__(master)        # 调用父类Frame的方法self.master  masterself.pack()                     #布局管理器self.createWidget()
def createWidget(self):创建组件self.label01  Label(self,text百战成诗,width10,height2,bgblack,fgwhite)self.label01.pack()
self.label02  Label(self, text百战不衰, width12, height2,bgblue, fgwhite,font(黑体,30))self.label02.pack()# 显示图像global photo            #设置为全局变量如果是局部变量本方法执行完毕后图像对象会被销毁窗口不会显示图像photo  PhotoImage(fileimg/01.gif)self.label03  Label(self,imagephoto)self.label03.pack()
# 显示多行文本# relief  groove,边框显示效果 justify  right 右对齐对齐方式self.label04  Label(self,text巴黎奥运会中国最棒加油中国健将们,borderwidth2,reliefgroove,justifyright,font5)self.label04.pack()
if __name__  __main__:# 创建根窗口对象root  Tk()root.geometry(800x800200200)root.title(测试Label)app  Application(masterroot)root.mainloop()  # 事件循环 6. options选项详解--底层源码分析和阅读_可变参数 运算符 重载复习 
1. 可变参数指的是“可变数量的参数”。分两种情况: *param(一个星号)将多个参数收集到一个“元组”对象中。  **param(两个星号)将多个参数收集到一个“字典”对象中。  2. 设置option选项 7. Button_anchor锚点位置控制 import tkinter as tk
def on_button_click():print(按钮被点击了)
# 创建主窗口
root  tk.Tk()
root.title(Button 示例)
# 创建一个按钮
# 参数主窗口, 文本, 命令点击时调用的函数
button  tk.Button(root, text点击我, commandon_button_click)
# 将按钮放置到主窗口中
button.pack(pady20)  # pady参数用于在按钮和窗口边缘之间添加垂直填充
# 启动事件循环
root.mainloop() 8. Entry_StringVar登录界面设计和功能实现 
Entry用来接收一行字符串的控件如果用户输入的文字长度长于 Entry控件的宽度时文字会自动向后滚动如果相输入多行文本需要使用Text控件。 
# p8
from tkinter import *
from tkinter import messagebox
# Frame 是一个组件
class Application(Frame):def __init__(self, masterNone):super().__init__(master)  # 调用父类Frame的方法self.master  masterself.pack()  #布局管理器self.createWidget()
def createWidget(self):# 创建登录界面组件self.label01  Label(self,text用户名)self.label01.pack()
# StringVar变量绑定到指定的组件。# StringVar变量的值发生变化组件的值也发生变化# 组件内容发生变化StringVar变量的值也发生变化# 双向关联的作用v1  StringVar()              # 数据类型 intVar...self.entry01  Entry(self,textvariablev1)self.entry01.pack()v1.set(admain)print(v1.get());print(self.entry01.get())
# 创建密码框self.label02  Label(self, text密码)self.label02.pack()v2  StringVar()self.entry02  Entry(self, textvariablev2,show*)self.entry02.pack()v2.set(admain)print(v2.get());print(self.entry02.get())
Button(self,text登录,commandself.login).pack()
def login(self):# 定义变量进行接收username  self.entry01.get()password  self.entry02.get()print(去数据库比对用户名和密码)print(用户名username)print(f密码{password})
if username  haha and password  110:messagebox.showinfo(郑州大学, 上岸成功欢迎登录)else:messagebox.showinfo(郑州大学, 用户名或密码错误登录失败)
if __name__  __main__:# 创建根窗口对象root  Tk()root.geometry(500x300-100-200)app  Application(masterroot)root.mainloop()  # 事件循环