You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PySimpleGUI中将图片按钮移动到指定坐标

PySimpleGUI 图片按钮定位方法

要调整PySimpleGUI中图片按钮的位置,有几种实用方法,可根据需求选择:

1. 相对位置布局(推荐,适配窗口缩放)

如果需要按钮居中、居右等相对位置,用sg.Column包裹按钮并设置扩展和对齐属性是最稳妥的方式:

import PySimpleGUI as sg

ChessMenuOption = sg.Button('', image_filename=r'C:\Users\benja\Documents\Python\Chess project\Chess_Selection_Image.png')
# 用Column实现按钮在窗口中居中
layout = [
    [sg.Column([[ChessMenuOption]], expand_x=True, expand_y=True, justification='center')]
]
sg.Window(title='Chess', layout=layout, size=(800,800)).read()

expand_x=True和expand_y=True让Column占满窗口剩余空间,justification控制内部元素的对齐方向(可选left/right/center)。

2. 微调位置(pad参数)

如果只需要小幅度偏移,直接给按钮添加pad参数,控制按钮与周围元素的间距:

import PySimpleGUI as sg

# pad=(水平间距, 垂直间距),数值单位为像素
ChessMenuOption = sg.Button('', 
                            image_filename=r'C:\Users\benja\Documents\Python\Chess project\Chess_Selection_Image.png',
                            pad=(100, 200))  # 向右偏移100px,向下偏移200px
sg.Window(title='Chess', layout=[[ChessMenuOption]], size=(800,800)).read()

3. 绝对坐标定位(固定位置)

如果需要指定精确的像素坐标(比如(200, 300)),可以用按钮的location参数:

import PySimpleGUI as sg

window = sg.Window(title='Chess', layout=[[]], size=(800,800))
# 直接指定按钮的屏幕坐标(相对于窗口左上角)
ChessMenuOption = sg.Button('', 
                            image_filename=r'C:\Users\benja\Documents\Python\Chess project\Chess_Selection_Image.png',
                            location=(200, 300))
window.layout([[ChessMenuOption]])
window.read()

注意:这种方式下,窗口缩放时按钮位置不会自动调整,仅适合固定窗口大小的场景。

内容的提问来源于stack exchange,提问作者Readraid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:00:49