使用键时,PySimpleGUI中的按钮不起作用

时间:2019-08-27 11:59:12

标签: key pysimplegui

我有一个带有两个按钮的基本GUI窗口。如果没有按钮按键,它们将正常工作。如果我对任何按钮使用键,则该按钮将不起作用。在这种情况下,按钮2不起作用,因为我为此使用了key='b2'

  import PySimpleGUI as sg

  def main():
    layout=[[sg.Button("button1"),
       sg.Button('button 2',key='b2')]]
    window=sg.Window("Gui",location=(20,20))
    window.Layout(layout).Finalize()
    while True:
      event,values=window.Read()
      if event == 'button1':
       sg.Popup("button 1 pressed")
      if event == 'button 2':
       sg.Popup("button 2 pressed")



  main()

2 个答案:

答案 0 :(得分:0)

查看文档以了解如何使用键。您没有在if语句中检查密钥。事件是关键。

答案 1 :(得分:0)

您必须检查它们的关键事件。

这是您的示例的可行解决方案:

import PySimpleGUI as sg                  
                                          
def main():                               
  layout=[[sg.Button("button1"),          
     sg.Button('button2',key='b2')]]      
  window=sg.Window("Gui",location=(20,20))
  window.Layout(layout).Finalize()        
  while True:                             
    event,values=window.Read()            
    if event == 'button1':                
     sg.Popup("button 1 pressed")         
    if event == 'b2':                     
     sg.Popup("button 2 pressed")         
    if event == sg.WIN_CLOSED:            
     break                                                              
                                          
main()