Russian Qt Forum
Сентябрь 30, 2024, 06:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QClipboard - как узнать скопировано или вырезано?  (Прочитано 3159 раз)
axinedy
Гость
« : Апрель 28, 2010, 06:25 »

В общем нужно, чтобы приложение могло принимать файл через буфер обмена от файлового менеджера. Если он там вырезан, то он должен быть перемещён, если скопирован, соответственно скопирован...

Выглядит так:

в конструкторе:
   clipboard_ = QApplication::clipboard();
   connect(clipboard_, SIGNAL(dataChanged()), SLOT(onClipboardChanged()));
...
потом вот:
void MainWindow::onClipboardChanged()
{
   const QMimeData *mimeData = clipboard_->mimeData();
   if (mimeData->hasUrls()){
      foreach (QUrl url, mimeData->urls()){
         qDebug() << url.path();
      }
   }

Таким образом, если в файловом менеджере вырезать или скопировать файл (или несколько файлов), приложение получает путь к ним... но как узнать, какое действие было выбрано, вырезать или скопировать???
Записан
SASA
Гость
« Ответ #1 : Апрель 28, 2010, 17:00 »

По-моему никак. Когда кладёшь что-нибудь в буфер, то указываешь тип, того что кладёшь и данные. Никакой инфы о действии там не предполагается.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.075 секунд. Запросов: 20.