Figma导出的Python UI代码运行显示空白窗口问题咨询
问题原因
运行后看不到预期元素是两个问题导致的:
- 所有元素坐标为负值:Tkinter窗口可视区域的坐标范围是左上角
(0,0)到右下角(907,645),坐标为负的元素会被绘制到窗口边界之外。你代码里输入框x坐标为-338.0,配套装饰图、背景图的x坐标分别为-188.0、-266.5,全部落在窗口左边界外侧,自然无法显示。 - 依赖本地图片资源缺失:代码加载了
img_textBox0.png、img_textBox1.png、Background.png三个本地图片文件,如果这些文件没有放在Python脚本同级目录,运行时会直接报文件不存在错误,元素也无法正常渲染。
修复方法
将所有元素的坐标调整到可视区域范围内,同时确认图片资源路径正确,修改后的可运行代码如下:
from tkinter import * def btn_clicked(): print("Button Clicked") window = Tk() window.geometry("907x645") window.configure(bg = "#ee1212") canvas = Canvas( window, bg = "#ee1212", height = 645, width = 907, bd = 0, highlightthickness = 0, relief = "ridge") canvas.place(x = 0, y = 0) # 请确认以下3个png文件与本脚本存放在同一目录 entry0_img = PhotoImage(file = f"img_textBox0.png") entry0_bg = canvas.create_image( 453.5, 85.5, image = entry0_img) entry0 = Entry( bd = 0, bg = "#d9d9d9", highlightthickness = 0) entry0.place( x = 303.5, y = 68, width = 300.0, height = 33) entry1_img = PhotoImage(file = f"img_textBox1.png") entry1_bg = canvas.create_image( 453.5, 153.5, image = entry1_img) entry1 = Entry( bd = 0, bg = "#d9d9d9", highlightthickness = 0) entry1.place( x = 303.5, y = 136, width = 300.0, height = 33) background_img = PhotoImage(file = f"Background.png") background = canvas.create_image( 453.5, 322.5, image=background_img) window.resizable(False, False) window.mainloop()
如果不需要自定义图片边框,可以直接删除
img_textBox相关的图片加载、canvas绘制代码,不会影响输入框的基础功能。
内容的提问来源于stack exchange,提问作者Muhammad Farzan Bashir
相关产品推荐
相关产品推荐

