def __init__(self, theme=None, stylesheet=None): super(VCPApplication, self).__init__(qtpyvcp.OPTIONS.command_line_args or []) opts = qtpyvcp.OPTIONS from qtpyvcp.core import Prefs, Info self.info = Info() self.prefs = Prefs() self.status = getPlugin('status') self.initialiseDataPlugins() theme = opts.theme or theme if theme is not None: self.setStyle(QStyleFactory.create(theme)) stylesheet = opts.stylesheet or stylesheet if stylesheet is not None: self.loadStylesheet(stylesheet) # self.window = self.loadVCPMainWindow(opts, vcp_file) # if self.window is not None: # self.window.show() # Performance monitoring if opts.perfmon: import psutil self.perf = psutil.Process() self.perf_timer = QTimer() self.perf_timer.setInterval(2000) self.perf_timer.timeout.connect(self.logPerformance) self.perf_timer.start() self.aboutToQuit.connect(self.terminate)
def __init__(self, theme=None, stylesheet=None, custom_fonts=[]): app_args = (qtpyvcp.OPTIONS.command_line_args or "").split() super(VCPApplication, self).__init__(app_args) opts = qtpyvcp.OPTIONS from qtpyvcp.core import Prefs, Info self.info = Info() self.prefs = Prefs() self.status = getPlugin('status') self.initialiseDataPlugins() theme = opts.theme or theme if theme is not None: self.setStyle(QStyleFactory.create(theme)) stylesheet = opts.stylesheet or stylesheet if stylesheet is not None: self.loadStylesheet(stylesheet) if custom_fonts: for font in custom_fonts: self.loadFont(font) # self.window = self.loadVCPMainWindow(opts, vcp_file) # if self.window is not None: # self.window.show() if opts.hide_cursor: from qtpy.QtGui import QCursor self.setOverrideCursor(QCursor(Qt.BlankCursor)) # Performance monitoring if opts.perfmon: import psutil self.perf = psutil.Process() self.perf_timer = QTimer() self.perf_timer.setInterval(2000) self.perf_timer.timeout.connect(self.logPerformance) self.perf_timer.start() self.aboutToQuit.connect(self.terminate)
# along with QtPyVCP. If not, see <http://www.gnu.org/licenses/>. import os from qtpy.QtGui import QColor from qtpy.QtCore import Qt, Slot, Property from qtpy.QtWidgets import QWidget, QBoxLayout, QSizePolicy from qtpyvcp.core import Info from qtpyvcp.actions.machine_actions import jog from qtpyvcp.plugins import getPlugin from qtpyvcp.utilities.settings import getSetting, setSetting from qtpyvcp.widgets.button_widgets.led_button import LEDButton STATUS = getPlugin('status') INFO = Info() class JogIncrementWidget(QWidget): def __init__(self, parent=None, standalone=False): super(JogIncrementWidget, self).__init__(parent) self._container = hBox = QBoxLayout(QBoxLayout.LeftToRight, self) hBox.setContentsMargins(0, 0, 0, 0) self._ledDiameter = 15 self._ledColor = QColor('green') self._alignment = Qt.AlignTop | Qt.AlignRight # This prevents doing unneeded initialization # when QtDesginer loads the plugin. if parent is None and not standalone:
"""MDI Entry """ from qtpy.QtWidgets import QLineEdit, QCompleter, QApplication from qtpy.QtCore import Qt, QEvent, QStringListModel, Slot from qtpy.QtGui import QKeySequence, QValidator from qtpyvcp.widgets.base_widgets.base_widget import CMDWidget from qtpyvcp.plugins import getPlugin STATUS = getPlugin('status') from qtpyvcp.core import Info INFO = Info() from qtpyvcp.actions.machine_actions import issue_mdi MDI_HISTORY_FILE = INFO.getMDIHistoryFile() class Validator(QValidator): def validate(self, string, pos): # eventually could do some actual validating here return QValidator.Acceptable, string.upper(), pos class MDIEntry(QLineEdit, CMDWidget): def __init__(self, parent=None): super(MDIEntry, self).__init__(parent) self.model = QStringListModel()
import os import re from qtpy.QtWidgets import qApp from qtpy.QtCore import Property from qtpyvcp.core import Info INFO = Info() from qtpyvcp.widgets import VCPButton from qtpyvcp.actions.machine_actions import issue_mdi from qtpyvcp.utilities import logger LOG = logger.getLogger(__name__) # input: #<param_name> = #1 (=0.125 comment) # result: [("param_name", "1", "0.125", "comment")] # if a group is not present it will be an empty string PARSE_POSITIONAL_ARGS = re.compile( r' *# *<([a-z0-9_-]+)> *= *#([0-9]+) *(?:\(= *([0-9.+-]+[0-9.]*?|) *(.*)\))?', re.I) SUBROUTINE_PATH = INFO.getSubroutinePath() class SubCallButton(VCPButton): """Button for calling ngc subroutines. Args: parent (QWidget, optional) : The parent widget of the button, or None.