跟女儿的玩笑 小程序
# Tkinter是Python的标准GUI(图形用户界面)库 ,Python使用Tkinter可以快速的创建GUI应用程序
from PIL import ImageTk
from tkinter import *
import PIL
import tkinter as tk
import os
from tkinter import messagebox
def resource_path(relative):
if hasattr(sys, "_MEIPASS"):
absolute_path = os.path.join(sys._MEIPASS, relative)
else:
absolute_path = os.path.join(relative)
return absolute_path
def closeWindow():
messagebox.showinfo(title="警告",message="不许关闭,好好回答")
# messagebox.showerror(title="警告",message="不许关闭,好好回答")
return
# 点击在学习触发的方法
def Love():
# 顶级窗口
love = Toplevel(window)
love.geometry("300x100+520+260")
love.title("好巧,我也在学习")
label = Label(love,text = "好巧,我也在学习",font = ("微软雅黑",20))
label.pack()
btn = Button(love,text="确定",width=10,height=2,command=closeAllWindow)
btn.pack()
love.protocol("WM_DELETE_WINDOW",closeLove)
def closeLove():
return
# 关闭所有的窗口
def closeAllWindow():
# destroy 销毁
window.destroy()
def noLove():
no_love = Toplevel(window)
no_love.geometry("300x100+520+260")
no_love.title("不许打游戏")
label = Label(no_love,text="不许打游戏啊",font=("微软雅黑",25))
label.pack()
btn = Button(no_love,text="好的",width=10,height=2,command=no_love.destroy)
btn.pack()
no_love.protocol("WM_DELETE_WINDOW",closeNoLove)
def closeNoLove():
noLove()
im=PIL.Image.open(resource_path('cc.jpg'))
imgSize=im.size
w = im.width #图片的宽
h = im.height #图片的高
f = im.format #图像格式
#print(w,h)
# 创建父级窗口
window = Tk() #Tk 是一个类
# 窗口标题
window.title("你在学习吗?")
# 窗口大小
window.geometry('503x820')
# 窗口位置 geometry:几何
window.geometry('+500+30')
# protocol() 用户关闭窗口触发的事件
window.protocol("WM_DELETE_WINDOW",closeWindow)
# 标签控件
label = Label(window,text="hey,洪袖绮",font=("微软雅黑",15),fg='red')
# 定位 网格式布局 pack也可以
label.grid(row = 0,column = 0,sticky = W)
label1 = Label(window,text="你在学习吗?",font=("微软雅黑",30))
# sticky 对齐方式 E W S N 东西南北
label1.grid(row = 1,column = 1,sticky = E)
# 显示图片
#plt.imshow("cc.jpg")
#plt.show()
#photo = PhotoImage(file = "./cc.jpg")
#imageLable = Label(window,image = photo)
#im=PIL.Image.open("cc.jpg")
img=ImageTk.PhotoImage(im)
#imLabel=tk.Label(self.root,image=img).pack() # 显示图片
imageLable = Label(window,image = img)
# columnspan 组件所跨越的列数
imageLable.grid(row = 2, columnspan = 2)
# 按钮控件
# command 按钮点击触发的事件
btn = Button(window,text="在学习",width=15,height=2,command=Love,font=("微软雅黑",10),fg='blue')
btn.grid(row = 4,column = 0, sticky = N)
btn1 = Button(window,text="打游戏",width=15,height=2,command=noLove,font=("微软雅黑",10),fg='blue')
btn1.grid(row = 4,column = 1, sticky = S)
# 显示窗口,也叫消息循环
window.mainloop()
浙公网安备 33010602011771号