29 lines
		
	
	
	
		
			994 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			994 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from matplotlib import use
 | |
| # import PySimpleGUI as sg          # Same program can be used with tkinter port
 | |
| import PySimpleGUIQt as sg; use('qt5agg')
 | |
| import matplotlib.pyplot as plt
 | |
| 
 | |
| """
 | |
|     Simultaneous PySimpleGUI Window AND a Matplotlib Interactive Window
 | |
|     A number of people have requested the ability to run a normal PySimpleGUI window that
 | |
|     launches a MatplotLib window that is interactive with the usual Matplotlib controls.
 | |
|     It turns out to be a rather simple thing to do.  The secret is to add parameter block=False to plt.show()
 | |
| """
 | |
| 
 | |
| def draw_plot():
 | |
|     plt.plot([0.1, 0.2, 0.5, 0.7])
 | |
|     plt.show(block=False)
 | |
| 
 | |
| layout = [[sg.Button('Plot'), sg.Cancel(), sg.Button('Popup')]]
 | |
| 
 | |
| window = sg.Window('Have some Matplotlib....', layout)
 | |
| 
 | |
| while True:
 | |
|     event, values = window.read()
 | |
|     if event in (None, 'Cancel'):
 | |
|         break
 | |
|     elif event == 'Plot':
 | |
|         draw_plot()
 | |
|     elif event == 'Popup':
 | |
|         sg.popup('Yes, your application is still running')
 | |
| window.close()
 |