docs: def qteNewWindow(self, pos: QtCore.QRect=None, windowID: str=None):
          """
          Create a new, empty window with ``windowID`` at position ``pos``.
  
          |Args|
  
          * ``pos`` (**QRect**): size and position of new window.
          * ``windowID`` (**str**): unique window ID.
  
          |Returns|
  
          * **QtmacsWindow**: reference to the just created window instance.
  
          |Raises|
  
          * **QtmacsArgumentError** if at least one argument has an invalid type.
          """
  
          # Compile a list of all window IDs.
          winIDList = [_._qteWindowID for _ in self._qteWindowList]
  
          # If no window ID was supplied simply count until a new and
          # unique ID was found.
          if windowID is None:
              cnt = 0
              while str(cnt) in winIDList:
                  cnt += 1
              windowID = str(cnt)
  
          # If no position was specified use a default one.
          if pos is None:
              pos = QtCore.QRect(500, 300, 1000, 500)
  
          # Raise an error if a window with this ID already exists.
          if windowID in winIDList:
              msg = 'Window with ID <b>{}</b> already exists.'.format(windowID)
              raise QtmacsOtherError(msg)
  
          # Instantiate a new window object.
          window = QtmacsWindow(pos, windowID)
  
          # Add the new window to the window list and make it visible.
          self._qteWindowList.append(window)
          window.show()
  
          # Trigger the focus manager once the event loop is in control again.
          return window