PySimpleGUI - 列元素



列元素也是一個容器小部件。如果您想設計以一個或多個垂直列表示的 GUI 視窗元素,它非常有用。就像視窗一樣,列區域將其他 PySimpleGUI 元素放置在一個由列表的列表組成的佈局中。

列布局類似於框架。但是,列沒有框架那樣的邊框或標題。但是,當您想並排放置一組元素時,它非常有效。

傳遞給 Column 建構函式的必填引數是作為列表的列表的佈局,每個內部列表都是一行元素。

其他引數可以給出如下:

PySimpleGUI.Column(layout, size, scrollable,
vertical_scroll_only, element_justification)

其中,

  • layout - 將在列容器中顯示的佈局

  • size - (寬度,高度)以畫素為單位的大小

  • Scrollable - 如果為 True,則將向列新增捲軸

  • vertical_scroll_only - 如果為 True,則不顯示水平捲軸

  • element_justification - 列中的所有元素都將具有此對齊方式“left”、“right”或“center”

Column 類中定義的一個重要方法是contents_changed()。如果為 Column 啟用了可滾動屬性,並且透過使某些元素可見或不可見來更改佈局,則在呼叫此方法時計算新的可滾動區域。

儘管像 Column 這樣的容器元素通常不是事件監聽器,但它的可見屬性可能會動態更新。

以下程式碼顯示瞭如何使用 Column 元素。主佈局的上行有一行文字和輸入元素。最後一行有“確定”和“取消”按鈕。中間行有兩列,每列都有用於輸入通訊和永久地址的輸入元素。它們的元素佈局儲存為 col1 和 col2。這些用於宣告兩個 Column 物件並將其放置在主佈局中間行的列表中。

import PySimpleGUI as psg
psg.set_options(font=("Arial Bold",10))
l=psg.Text("Enter Name")
l1=psg.Text("Address for Correspondence")
l2=psg.Text("Permanent Address")
t=psg.Input("", key='-NM-')
a11=psg.Input(key='-a11-')
a12=psg.Input(key='-a12-')
a13=psg.Input(key='-a13-')
col1=[[l1],[a11], [a12], [a13]]
a21=psg.Input(key='-a21-')
a22=psg.Input(key='-a22-')
a23=psg.Input(key='-a23-')
col2=[[l2],[a21], [a22], [a23]]
layout=[[l,t],[psg.Column(col1), psg.Column(col2)], [psg.OK(), psg.Cancel()]]
window = psg.Window('Column Example', layout, size=(715,200))
while True:
   event, values = window.read()
   print (event, values)
   if event in (psg.WIN_CLOSED, 'Exit'):
      break
window.close()

它將生成以下輸出視窗:

Column Element
pysimplegui_element_class.htm
廣告

© . All rights reserved.