3

我有一个用文件名填充的 QListWidget,当用户按下 Ctrl+CI 时想要将文件名放置到剪贴板,因此如果用户在文件管理器中按下 Ctrl+V,文件将被复制。

4

1 回答 1

6

您必须继承 QListWidget 并在 keyPressEvent() 中写入类似的内容:

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"));
}
于 2011-02-12T23:08:18.653 回答