code: def copy_path(self, fnames=None, method="absolute"):
          
          cb = QApplication.clipboard()
          explorer_dir = self.fsmodel.rootPath()
          if fnames is None:
              fnames = self.get_selected_filenames()
          if not isinstance(fnames, (tuple, list)):
              fnames = [fnames]
          fnames = [_fn.replace(os.sep, "/") for _fn in fnames]
          if len(fnames) > 1:
              if method == "absolute":
                  clipboard_files = ',\n'.join('"' + _fn + '"' for _fn in fnames)
              elif method == "relative":
                  clipboard_files = ',\n'.join('"' +
                                               osp.relpath(_fn, explorer_dir).
                                               replace(os.sep, "/") + '"'
                                               for _fn in fnames)
          else:
              if method == "absolute":
                  clipboard_files = fnames[0]
              elif method == "relative":
                  clipboard_files = (osp.relpath(fnames[0], explorer_dir).
                                     replace(os.sep, "/"))
          copied_from = self.parent_widget.__class__.__name__
          if copied_from == 'ProjectExplorerWidget' and method == 'relative':
              clipboard_files = [path.strip(',"') for path in
                                 clipboard_files.splitlines()]
              clipboard_files = ['/'.join(path.strip('/').split('/')[1:]) for
                                 path in clipboard_files]
              if len(clipboard_files) > 1:
                  clipboard_files = ',\n'.join('"' + _fn + '"' for _fn in
                                               clipboard_files)
              else:
                  clipboard_files = clipboard_files[0]
          cb.setText(clipboard_files, mode=cb.Clipboard)
docs: Copy absolute or relative path to given file(s)/folders(s).