Copy selected items from QListWidget filled with filenames to the clipboard, but as files (not text)

StackOverflow https://stackoverflow.com/questions/4980619

  •  12-11-2019
  •  | 
  •  

Pregunta

I have a QListWidget which I fill with filenames, when user hits Ctrl+C I want to place the filenames to the clipboard, so if the user hits Ctrl+V in a file manager the files will be copied.

¿Fue útil?

Solución

You'll have to subclass the QListWidget and write in the keyPressEvent() something like that:

virtual void keyPressEvent(QKeyEvent *event) {
if (event->matches(QKeySequence::Copy)) {
  int itemsCount = count();
  QStringList strings;
  for (int i = 0; i < itemsCount; ++i)
    strings << item(i)->text();

  QApplication::clipboard()->setText(strings.join("\n"));
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top