如何解决您可以在 PySimpleGUI 表对象的行内添加隐藏值吗?
我在 PySimpleGUI 中有一个表对象。
[sg.Table(values=data_values,headings=data_headings,max_col_width=65,auto_size_columns=False,select_mode=sg.TABLE_SELECT_MODE_broWSE,justification='left',enable_events=True,col_widths=[5,5,5],num_rows=10,key='_tracker_')]
我启用了事件。单击表时,我检查单击的行并根据该行中的值执行一些操作。效果很好。
我现在想让其中一个变量不可见,但我仍然想在点击行时访问它的值。
有没有办法做到这一点?我认为 HTML 中存在类似的东西。
解决方法
您可以使用选项 visible_column_map
设置要显示或不显示的列。
visible_column_map
:每列一个条目。 False 表示未显示该列。
演示代码,
import PySimpleGUI as sg
headings = ['President','Date of Birth']
data = [
['Ronald Reagan','February 6'],['Abraham Lincoln','February 12'],['George Washington','February 22'],['Andrew Jackson','March 15'],['Thomas Jefferson','April 13'],['Harry Truman','May 8'],['John F. Kennedy','May 29'],['George H. W. Bush','June 12'],['George W. Bush','July 6'],['John Quincy Adams','July 11'],['Garrett Walker','July 18'],['Bill Clinton','August 19'],['Jimmy Carter','October 1'],['John Adams','October 30'],['Theodore Roosevelt','October 27'],['Frank Underwood','November 5'],['Woodrow Wilson','December 28'],]
sg.theme('DarkBlue3')
sg.set_options(("Courier New",12))
layout = [
[sg.Table(data,headings=headings,visible_column_map=[True,False],justification='left',select_mode=sg.TABLE_SELECT_MODE_BROWSE,enable_events=True,key='President')],[sg.Text('',size=(22,1),key='Birthday')],]
window = sg.Window("Title",layout,finalize=True)
while True:
event,values = window.read()
if event == sg.WINDOW_CLOSED:
break
elif event == 'President':
index = values[event][0]
window['Birthday'].update(value=f'Birthday: {data[index][1]}')
window.close()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。