Commit d298911c authored by Martin Drechsler's avatar Martin Drechsler

Save as and Open from functions added to the menu. Now you can also choose...

Save as and Open from functions added to the menu. Now you can also choose where to save and load config file. The Save and Load use the default config file in the control_app folder.
parent a2d3bda1
......@@ -7,7 +7,7 @@ Created on Thu Jul 5 12:17:30 2018
from PyQt5.QtCore import QSettings
from PyQt5.QtWidgets import QAction
from PyQt5.QtWidgets import QAction, QFileDialog
from threading import Thread
#%%
......@@ -33,6 +33,34 @@ def load(aos):
spinb.setValue( float(spin) )
settings.endGroup()
def save_as(aos, window):
name = QFileDialog.getSaveFileName(window, 'Save File')
file = open(name[0], 'w+')
file.close()
settings = QSettings(name[0], QSettings.IniFormat)
settings.beginGroup('Ventana')
for ao in aos:
spin_boxes = ao.spin_boxes
for text, spinb in spin_boxes:
settings.setValue(str(ao.name) + '_' + text, spinb.value())
#print(spinb.value() )
settings.endGroup()
print('saving to %s' % name[0])
def open_from(aos, window):
name = QFileDialog.getOpenFileName(window, 'Save File')
settings = QSettings(name[0], QSettings.IniFormat)
settings.beginGroup('Ventana')
for ao in aos:
spin_boxes = ao.spin_boxes
for text, spinb in spin_boxes:
spin = settings.value(str(ao.name) + '_' + text)
spinb.setValue( float(spin) )
settings.endGroup()
def startWebcamsThread():
exec(open('C:\\Users\\Usuario\\Documents\\control_app\\webcams.py').read())
......@@ -51,12 +79,18 @@ def incorporate_toolbar(win, analog_control_signals):
saveAct = QAction('Save', win)
loadAct = QAction('Load', win)
saveAsAct = QAction('Save as' , win)
openFromAct = QAction('open from', win)
win.statusBar()
menubar = win.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(saveAct)
fileMenu.addAction(loadAct)
fileMenu.addAction(saveAsAct)
fileMenu.addAction(openFromAct)
viewMenu = menubar.addMenu('Monitor')
viewWebcams = QAction('View webcams', win, checkable=True)
......@@ -66,4 +100,6 @@ def incorporate_toolbar(win, analog_control_signals):
saveAct.triggered.connect(lambda: save(analog_control_signals))
loadAct.triggered.connect(lambda: load(analog_control_signals))
saveAsAct.triggered.connect(lambda: save_as(analog_control_signals, win))
openFromAct.triggered.connect(lambda: open_from(analog_control_signals, win))
viewWebcams.toggled.connect(lambda: putWebcams(viewWebcams.isChecked()) )
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment