运行 window 初始化后的代码

Run code after the window has been initialized

我有一个程序有一个 sg.Output 元素,我想要一个函数到 运行 在 window 有 opened/initialized.

之后

这是我的代码示例:

import PySimpleGUI as sg
import os

layout = [[sg.Output(size=(50, 10))]]

window = sg.Window('SampleCode', layout)

def printAfter():
  print('Hello')

while True:
  event, values = window.read()
  
  printAfter()

  if event == sg.WIN_CLOSED:
    break

问题是它似乎在初始化 window 之前打印它。

Window 中的选项 finalize=True 让 GUI 完成,然后你可以 运行 关于 GUI 或 GUI 初始化后的任何代码。

方法 Window.read 将等待来自 GUI 的事件,因此它在任何事件之前什么都不做,例如单击按钮。

While条件循环中的代码将被反复执行,直到条件为False或break语句。

import PySimpleGUI as sg
import os

def printAfter():
  print('Hello')

layout = [[sg.Output(size=(50, 10))]]
window = sg.Window('SampleCode', layout, finalize=True)

printAfter()

while True:
  event, values = window.read()
  if event == sg.WIN_CLOSED:
    break

window.close()