PySimpleGUI - 表格元素



表格对象是任何 GUI 库中一个有用的 GUI 小部件。其目的是以具有行和列的表格形式显示数字和字符串的二维数据结构。

传递给 Table 类构造函数的重要参数是:

PySimpleGUI.Table(values, headings, col_widths,
   auto_size_columns, select_mode,
   display_row_numbers, num_rows,
   alternating_row_color,
   selected_row_colors,
   header_text_color)

下表解释了每个参数的作用:

序号 参数及说明
1

表示为二维表的表格数据

2 标题

显示在顶行的标题

3 col_widths

每列将占据的字符数

4 auto_size_columns

如果为 True,则列将自动调整大小

5 select_mode

选择模式。有效值

  • TABLE_SELECT_MODE_NONE

  • TABLE_SELECT_MODE_BROWSE

  • TABLE_SELECT_MODE_EXTENDED

6 display_row_numbers

如果为 True,则表格的第一列将是行号

7 num_rows

一次显示的表格行数

8 alternating_row_color

如果为 True,则每隔一行将具有此背景颜色。

9 selected_row_colors

设置所选行的文本颜色和背景颜色。

10 header_text_color

设置标题的文本颜色

单击表格中的任何单元格时,PySimpleGUI 将生成一个 CLICKED 事件的元组,其中包含表格键以及单击单元格的 (行, 列)。

event: ('-TABLE-', '+CLICKED+', (0, 1))

以下代码在 PySimpleGUI 窗口上的 Table 对象中显示学生列表。当您单击任何单元格时,会显示一个弹出窗口。弹出窗口上会显示单元格坐标。

import PySimpleGUI as psg
psg.set_options(font=("Arial Bold", 14))
toprow = ['S.No.', 'Name', 'Age', 'Marks']
rows = [[1, 'Rajeev', 23, 78],
        [2, 'Rajani', 21, 66],
        [3, 'Rahul', 22, 60],
        [4, 'Robin', 20, 75]]
tbl1 = psg.Table(values=rows, headings=toprow,
   auto_size_columns=True,
   display_row_numbers=False,
   justification='center', key='-TABLE-',
   selected_row_colors='red on yellow',
   enable_events=True,
   expand_x=True,
   expand_y=True,
 enable_click_events=True)
layout = [[tbl1]]
window = psg.Window("Table Demo", layout, size=(715, 200), resizable=True)
while True:
   event, values = window.read()
   print("event:", event, "values:", values)
   if event == psg.WIN_CLOSED:
      break
   if '+CLICKED+' in event:
      psg.popup("You clicked row:{} Column: {}".format(event[2][0], event[2][1]))
window.close()

它将生成以下输出窗口:

Table Element

Table 对象还有一个update()方法,用于动态更新表格属性,例如值、num_rows 和 row_color。

pysimplegui_element_class.htm
广告