Exemple #1
0
 def init_signal(self):
     """allow clean shutdown on sigint"""
     signal.signal(signal.SIGINT, lambda sig, frame: self.exit(-2))
     # need a timer, so that QApplication doesn't block until a real
     # Qt event fires (can require mouse movement)
     # timer trick from http://stackoverflow.com/q/4938723/938949
     timer = QtCore.QTimer()
      # Let the interpreter run each 200 ms:
     timer.timeout.connect(lambda: None)
     timer.start(200)
     # hold onto ref, so the timer doesn't get cleaned up
     self._sigint_timer = timer
    def __init__(self):
        QWidget.__init__(self)
        self.setGeometry(100, 100, 300, 200)
        self.show()
        self.grid = QGridLayout(self)
        self.grid.setContentsMargins(0, 0, 0, 0)
        self.web = QWebEngineView()
        self.web.load(QUrl(link))
        self.grid.addWidget(self.web, 0, 0)

        self.web2 = QWebEngineView()
        self.web2.hide()
        self.web2.load(QUrl(link))
        self.grid.addWidget(self.web2, 0, 0)

        timer = QtCore.QTimer(self)
        timer.timeout.connect(self.refresh)
        timer.start(int(sys.argv[-1]))
Exemple #3
0
    def __init__(self, options, parent=None):
        self.options = options
        self.port = None
        self.devices = []
        self.default_rate = 100

        self._serial_timer = QtCore.QTimer()
        self._serial_timer.timeout.connect(self._poll_serial)
        self._serial_timer.start(10)

        r = runfiles.Create()
        uifilename = r.Rlocation(
            "com_github_mjbots_moteus/moteus/tool/tview_main_window.ui")
        loader = QtUiTools.QUiLoader()
        uifile = QtCore.QFile(uifilename)
        uifile.open(QtCore.QFile.ReadOnly)
        self.ui = loader.load(uifile, parent)
        uifile.close()

        self.ui.configTreeWidget = SizedTreeWidget()
        self.ui.configDock.setWidget(self.ui.configTreeWidget)

        self.ui.telemetryTreeWidget = SizedTreeWidget()
        self.ui.telemetryDock.setWidget(self.ui.telemetryTreeWidget)

        self.ui.telemetryTreeWidget.itemExpanded.connect(
            self._handle_tree_expanded)
        self.ui.telemetryTreeWidget.itemCollapsed.connect(
            self._handle_tree_collapsed)
        self.ui.telemetryTreeWidget.setContextMenuPolicy(
            QtCore.Qt.CustomContextMenu)
        self.ui.telemetryTreeWidget.customContextMenuRequested.connect(
            self._handle_telemetry_context_menu)

        self.ui.configTreeWidget.setItemDelegateForColumn(
            0, NoEditDelegate(self.ui))
        self.ui.configTreeWidget.itemExpanded.connect(
            self._handle_config_expanded)
        self.ui.configTreeWidget.itemChanged.connect(
            self._handle_config_item_changed)

        self.ui.plotItemRemoveButton.clicked.connect(
            self._handle_plot_item_remove)

        self.console = TviewConsoleWidget()
        self.console.ansi_codes = False
        self.console.line_input.connect(self._handle_user_input)
        self.ui.consoleDock.setWidget(self.console)

        self.ui.tabifyDockWidget(self.ui.configDock, self.ui.telemetryDock)

        layout = QtGui.QVBoxLayout(self.ui.plotHolderWidget)
        layout.setContentsMargins(0, 0, 0, 0)
        layout.setSpacing(0)
        self.ui.plotHolderWidget.setLayout(layout)
        self.ui.plotWidget = PlotWidget(self.ui.plotHolderWidget)
        layout.addWidget(self.ui.plotWidget)

        def update_plotwidget(value):
            self.ui.plotWidget.history_s = value
        self.ui.historySpin.valueChanged.connect(update_plotwidget)

        QtCore.QTimer.singleShot(0, self._handle_startup)
Exemple #4
0
 def start(self):
     if self._timer is None:
         self._timer = QtCore.QTimer()
         self._timer.timeout.connect(self.poll)
     self._timer.start(self.time_to_dead * 1000)