code: def _setupUi(self):
      self.layout = QtWidgets.QVBoxLayout(self)
      self.layout.setContentsMargins(0, 0, 0, 0)
      self.layout.setSpacing(0)
      self.setLayout(self.layout)
  
      self.output = QtWidgets.QTextEdit(self)
      font = QtGui.QFont()
      font.setFamily("Courier New")
      font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias)
      self.output.setFont(font)
      self.output.setReadOnly(True)
      self.layout.addWidget(self.output)
  
      # put input box in a horizontal layout so we can easily place buttons at the end
      self.inputWidget = QtWidgets.QWidget(self)
      self.layout.addWidget(self.inputWidget)
      self.inputLayout = QtWidgets.QHBoxLayout()
      self.inputWidget.setLayout(self.inputLayout)
      self.inputLayout.setContentsMargins(0, 0, 0, 0)
  
      self.input = CmdInput(parent=self)
      self.inputLayout.addWidget(self.input)
  
      self.input.sigExecuteCmd.connect(self.runCmd)
  
imports: import code, sys, traceback
  from ..Qt import QtWidgets, QtGui, QtCore
  from ..functions import mkBrush
  from .CmdInput import CmdInput
label_desc: Use image node_id 2 for calling the ReplWidget obj's underlying member method code with example usage: obj._setupUi() without return types