PySimpleGUI 表元素

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)

下表解释了这些参数各自的作用:

序号:Sr.No. 参数和描述
1 **Values ** 表数据以二维表的形式表示
2 **Headings ** 在顶行显示的标题
3 col_widths 每一列所占的字符数
4 auto_size_columns 如果为 “真”,列将被自动调整大小。
5 select_mode 选择模式。有效值。 table_select_mode_none
table_select_mode_browse
table_select_mode_extended
6 display_row_numbers 如果为真,表格的第一列将是该行。
7 num_rows 每次要显示的表的行数
8 alternating_row_color 如果为真,每隔一行都会有这种颜色的背景。
9 selected_row_colors 设置选定行的文本颜色和背景颜色。
10 header_text_color 设置页眉的文本颜色。

当表格中的任何单元格被点击时,PySimpleGUI会生成一个CLICKED事件的元组,其中有表格的键和被点击单元格的(row,col)。

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

下面的代码在PySimpleGUI窗口上显示了一个表对象中的学生名单。当你点击任何单元格时,会出现一个弹出窗口。单元格的坐标显示在弹出窗口中。

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()

它将产生以下 输出 窗口 –

PySimpleGUI - 表元素

表对象也有一个 update() 方法,用于动态更新表的属性,如value、num_rows和row_color。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程