class BuzzerDemo(QtGui.QDialog): demo_finished_signal = QtCore.pyqtSignal() def __init__(self, robot_id): super().__init__() self.ui = Ui_Dialog() self.ui.setupUi(self) self.robot_id = robot_id self.ui.lineEdit_serialId.setText(robot_id) # Connect signals self.ui.pushButton_run.clicked.connect(self.run) self.ui.pushButton_close.clicked.connect(self.done) self.ui.lineEdit_serialId.textChanged.connect(self.update_code_box) self.ui.spinBox_frequency.valueChanged.connect(self.update_code_box) self.demo_finished_signal.connect(self.run_finished) self.rgb = QtGui.QColor(255, 0, 255) self.update_code_box() def run(self): # Run button clicked # Disable Run and Close buttons self.ui.pushButton_run.setEnabled(False) self.ui.pushButton_close.setEnabled(False) util.run_string_async(self.ui.textEdit.toPlainText().encode(), self.run_finished_cb) def run_finished_cb(self): self.demo_finished_signal.emit() def run_finished(self): # Re-enable buttons self.ui.pushButton_run.setEnabled(True) self.ui.pushButton_close.setEnabled(True) def update_code_box(self, *args, **kwargs): mapping = {'SERIAL_ID': self.ui.lineEdit_serialId.text(), 'frequency':self.ui.spinBox_frequency.value(), } code = util.translate_file('buzzer_demo.template.py', mapping) self.ui.textEdit.setText(code)
def __init__(self, robot_id): super().__init__() self.ui = Ui_Dialog() self.ui.setupUi(self) self.robot_id = robot_id self.ui.lineEdit_serialId.setText(robot_id) # Connect signals self.ui.pushButton_run.clicked.connect(self.run) self.ui.pushButton_close.clicked.connect(self.done) self.ui.lineEdit_serialId.textChanged.connect(self.update_code_box) self.ui.spinBox_frequency.valueChanged.connect(self.update_code_box) self.demo_finished_signal.connect(self.run_finished) self.rgb = QtGui.QColor(255, 0, 255) self.update_code_box()