Import LinuxCNC source tree
This commit is contained in:
64
nc_files/filtertest-gui.py
Normal file
64
nc_files/filtertest-gui.py
Normal file
@@ -0,0 +1,64 @@
|
||||
import sys
|
||||
from qtpy.QtWidgets import (QApplication, QDialog, QDialogButtonBox,
|
||||
QVBoxLayout,QDialogButtonBox)
|
||||
from qtpy.QtCore import QTimer, Qt
|
||||
|
||||
class CustomDialog(QDialog):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CustomDialog, self).__init__(*args, **kwargs)
|
||||
|
||||
self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint)
|
||||
self.setWindowTitle("Filter-with-GUI Test")
|
||||
|
||||
QBtn = QDialogButtonBox.Cancel
|
||||
|
||||
self.buttonBox = QDialogButtonBox(QBtn)
|
||||
self.buttonBox.rejected.connect(self.reject)
|
||||
|
||||
self.layout = QVBoxLayout()
|
||||
self.layout.addWidget(self.buttonBox)
|
||||
self.setLayout(self.layout)
|
||||
|
||||
self._percentDone = 0
|
||||
|
||||
self._timer = QTimer()
|
||||
self._timer.timeout.connect(self.process)
|
||||
self._timer.start(100)
|
||||
|
||||
def reject(self):
|
||||
# This provides an error message
|
||||
print('You asked to cancel before finished.', file=sys.stderr)
|
||||
raise SystemExit(1)
|
||||
|
||||
def process(self):
|
||||
try:
|
||||
# output a line of gcode
|
||||
print('(MSG, made line of code : {})'.format(self._percentDone), file=sys.stdout)
|
||||
|
||||
# keep track of progress
|
||||
self._percentDone +=1
|
||||
|
||||
# update progress
|
||||
print('FILTER_PROGRESS={}'.format(self._percentDone), file=sys.stderr)
|
||||
|
||||
# if done end with no error/error message
|
||||
if self._percentDone == 100:
|
||||
print("m2")
|
||||
raise SystemExit(0)
|
||||
|
||||
except Exception as e:
|
||||
# This provides an error message
|
||||
print(('Something bad happened:',e), file=sys.stderr)
|
||||
# this signals the error message should be shown
|
||||
raise SystemExit(1)
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
app = QApplication(sys.argv)
|
||||
w = CustomDialog()
|
||||
w.show()
|
||||
sys.exit( app.exec_() )
|
||||
|
||||
Reference in New Issue
Block a user