0

我有一个带有两个按钮的基本 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()
4

2 回答 2

1

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

于 2019-08-27T18:07:49.563 回答
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()                                    
         

                             
于 2020-10-16T16:41:25.330 回答