鱼C论坛

 找回密码
 立即注册
查看: 1858|回复: 4

[已解决]在tkinter创建的GUI添加背景图片之后。如何将按钮和输入等组件放在背景图片上

[复制链接]
发表于 2022-5-27 12:29:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from tkinter import *
from time import *
import tkinter.filedialog
import io
import cv2
from PIL import Image, ImageTk
import numpy as np
import tensorflow as tf
import tkinter.messagebox

a = [""]
root = Tk() #创建主窗体
w_box = 700
h_box = 500
root.title('Tensorflow实现手写数字识别

这个是背景图

这个是背景图
') # 获取此电脑的横向分辨率 sw = root.winfo_screenwidth() # 获取此电脑的纵向分辨率 sh = root.winfo_screenheight() w1 = (sw - 700) / 2 w2 = (sh - 500) /2 # 使GUI界面居中 root.geometry('700x500+%d+%d'%(w1,w2)) image_file = Image.open('4.jpg') photo = ImageTk.PhotoImage(image_file) fwagui=tkinter.Frame(root,padx=10,pady=10).grid(row=0,column=0) tkinter.Label(fwagui,image=photo).grid(row=0,column=0,rowspan=3,columnspan=3) Button(root, text='退出', width=10,background="#8C8476", command=root.quit) \     .grid(row=15, column=0, sticky=W, padx=10, pady=15,ipadx=10,ipady=2) mainloop()
最佳答案
2022-5-27 15:37:05
小诺爷 发表于 2022-5-27 14:16
大佬,你能帮我写写吗
from tkinter import *
from time import *
import tkinter.filedialog
import io
import cv2
from PIL import Image, ImageTk
import numpy as np
#import tensorflow as tf
import tkinter.messagebox

a = [""]
root = Tk() #创建主窗体
w_box = 700
h_box = 500
root.title('Tensorflow实现手写数字识别')
# 获取此电脑的横向分辨率
sw = root.winfo_screenwidth()
# 获取此电脑的纵向分辨率
sh = root.winfo_screenheight()
w1 = (sw - 700) / 2
w2 = (sh - 500) /2
# 使GUI界面居中
root.geometry('700x500+%d+%d'%(w1,w2))

image_file = Image.open('4.jpg')
photo = ImageTk.PhotoImage(image_file)
fwagui=tkinter.Frame(root,padx=10,pady=10).grid(row=0,column=0)

# ---------------------------
canvas = tkinter.Canvas(fwagui)
canvas.create_image((350,250), anchor=CENTER, image=photo)
canvas.grid(row=0,column=0,rowspan=3,columnspan=3,ipadx=700,ipady=500)
# ---------------------------

Button(canvas, text='退出', width=10,background="#8C8476", command=root.quit) \
    .grid(row=15, column=0, sticky=W, padx=10, pady=15,ipadx=10,ipady=2)


mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-27 12:55:03 From FishC Mobile | 显示全部楼层
不要用Label,改用Canvas
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-27 14:16:50 | 显示全部楼层
大佬,你能帮我写写吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-27 15:37:05 | 显示全部楼层    本楼为最佳答案   
小诺爷 发表于 2022-5-27 14:16
大佬,你能帮我写写吗
from tkinter import *
from time import *
import tkinter.filedialog
import io
import cv2
from PIL import Image, ImageTk
import numpy as np
#import tensorflow as tf
import tkinter.messagebox

a = [""]
root = Tk() #创建主窗体
w_box = 700
h_box = 500
root.title('Tensorflow实现手写数字识别')
# 获取此电脑的横向分辨率
sw = root.winfo_screenwidth()
# 获取此电脑的纵向分辨率
sh = root.winfo_screenheight()
w1 = (sw - 700) / 2
w2 = (sh - 500) /2
# 使GUI界面居中
root.geometry('700x500+%d+%d'%(w1,w2))

image_file = Image.open('4.jpg')
photo = ImageTk.PhotoImage(image_file)
fwagui=tkinter.Frame(root,padx=10,pady=10).grid(row=0,column=0)

# ---------------------------
canvas = tkinter.Canvas(fwagui)
canvas.create_image((350,250), anchor=CENTER, image=photo)
canvas.grid(row=0,column=0,rowspan=3,columnspan=3,ipadx=700,ipady=500)
# ---------------------------

Button(canvas, text='退出', width=10,background="#8C8476", command=root.quit) \
    .grid(row=15, column=0, sticky=W, padx=10, pady=15,ipadx=10,ipady=2)


mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2022-5-27 15:41:15 | 显示全部楼层
其实 Label 也可以,但是不建议
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 12:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表