- PySimpleGUI 教程
- PySimpleGUI - 首頁
- PySimpleGUI - 簡介
- PySimpleGUI - 環境設定
- PySimpleGUI - Hello World
- PySimpleGUI - 彈出視窗
- PySimpleGUI - 視窗類
- PySimpleGUI - 元素類
- PySimpleGUI - 事件
- PySimpleGUI - 選單欄
- PySimpleGUI - Matplotlib 整合
- PySimpleGUI - 使用 PIL
- PySimpleGUI - 偵錯程式
- PySimpleGUI - 設定
- PySimpleGUI 有用資源
- PySimpleGUI - 快速指南
- PySimpleGUI - 有用資源
- 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)
下表解釋了每個引數的作用:
| 序號 | 引數及說明 |
|---|---|
| 1 | 值 表示為二維表的表格資料 |
| 2 | 標題 顯示在頂行的標題 |
| 3 | col_widths 每列將佔據的字元數 |
| 4 | auto_size_columns 如果為 True,則列將自動調整大小 |
| 5 | select_mode 選擇模式。有效值
|
| 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 物件還有一個update()方法,用於動態更新表格屬性,例如值、num_rows 和 row_color。
pysimplegui_element_class.htm
廣告