如何在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
相关产品推荐
相关产品推荐

