如何解决无法使用我的数据创建 PySimpleGui 表
我的表格不接受我放入 var dataT
格式的数据import PySimpleGUI as sg
dataT = [[''],[''],['']]
def edit():
sg.theme('Light Green 1')
headings = ['CPF','NAME','ENDEREÇO','CITY','STATE','GENDER','EMAIL','BIRTH','FAQ']
# ------ Window Layout ------
layout = [
[sg.Table(values=dataT[1:][:],headings=headings,max_col_width=55,auto_size_columns=True,display_row_numbers=True,justification='center',key='-TABLE-',size=(920,390))],[sg.Button('Delete')],]
# ------ Create Window ------
window = sg.Window('MyTable',layout)
# ------ Event Loop ------
while True:
event,values = window.read()
print(event,values)
if event is None:
break
window.close()
edit()
解决方法
标题有 9 列,
headings = ['CPF','NAME','ENDEREÇO','CITY','STATE','GENDER','EMAIL','BIRTH','FAQ']
这里的表格数据是9行,每行只有一行。
dataT = [[''],[''],['']]
选项 size
可能有问题,它说'请勿使用!改用 num_rows'。
为避免宽度与每个标题的长度完全匹配,请为每个列的宽度设置额外的 2 个字符。
字符宽度可能与非等宽字体显示的不完全相同,因此通过方法sg.set_options
添加等宽字体。
毕竟代码如下,
import PySimpleGUI as sg
dataT = [
['','',''],]
def edit():
sg.theme('LightGreen1')
sg.set_options(font=("Courier New",12))
headings = ['CPF','FAQ']
# ------ Window Layout ------
layout = [
[sg.Table(values=dataT,headings=headings,max_col_width=55,auto_size_columns=False,col_widths=list(map(lambda i:len(i)+2,headings)),display_row_numbers=True,justification='center',key='-TABLE-',num_rows=20)],[sg.Button('Delete')],]
# ------ Create Window ------
window = sg.Window('MyTable',layout)
# ------ Event Loop ------
while True:
event,values = window.read()
print(event,values)
if event is None:
break
window.close()
edit()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。