如何让PySimpleGUI中的输入框与按钮高度一致?
解决PySimpleGUI输入框与按钮高度对齐问题
我用PySimpleGUI写了一段布局代码,想让输入框和按钮高度一致,尝试设置输入框的size=(6,2)但只变宽没增高,请问怎么解决?
我的代码实现
layout = [[sg.VPush(background_color='#3B3B3B')], [sg.Text("Type ICAO Code:", text_color='#DCDCDC', background_color='#3B3B3B')], [sg.Input("", size=(6), key = '-ICAO CODE-', background_color='#656565', text_color='white', border_width='0'), sg.Button("Search", bind_return_key=True, button_color=('#DCDCDC', '#656565'), border_width='0')], [sg.Text("", key = '-RESULT-', text_color='#DCDCDC', background_color='#3B3B3B')], [sg.VPush(background_color='#3B3B3B')]]
当前显示效果

解决方法
PySimpleGUI中sg.Input的size参数第二个值无法直接控制高度,因为输入框高度默认由系统字体或控件原生属性决定,推荐两种直接有效的对齐方式:
方法一:统一字体大小
给输入框和按钮设置相同的字体参数,让控件高度自然匹配:
layout = [[sg.VPush(background_color='#3B3B3B')], [sg.Text("Type ICAO Code:", text_color='#DCDCDC', background_color='#3B3B3B')], [sg.Input("", size=(6), key = '-ICAO CODE-', background_color='#656565', text_color='white', border_width='0', font=('Arial', 12)), sg.Button("Search", bind_return_key=True, button_color=('#DCDCDC', '#656565'), border_width='0', font=('Arial', 12))], [sg.Text("", key = '-RESULT-', text_color='#DCDCDC', background_color='#3B3B3B')], [sg.VPush(background_color='#3B3B3B')]]
方法二:强制匹配高度
给按钮设置固定高度,同时让输入框开启垂直扩展属性来匹配按钮高度:
layout = [[sg.VPush(background_color='#3B3B3B')], [sg.Text("Type ICAO Code:", text_color='#DCDCDC', background_color='#3B3B3B')], [sg.Input("", size=(6), key = '-ICAO CODE-', background_color='#656565', text_color='white', border_width='0', expand_y=True), sg.Button("Search", bind_return_key=True, button_color=('#DCDCDC', '#656565'), border_width='0', button_height=2)], [sg.Text("", key = '-RESULT-', text_color='#DCDCDC', background_color='#3B3B3B')], [sg.VPush(background_color='#3B3B3B')]]
内容的提问来源于stack exchange,提问作者patrgl
相关产品推荐
相关产品推荐

