Russian Qt Forum
Ноябрь 27, 2024, 05:12
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
drag&drop
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: drag&drop (Прочитано 3583 раз)
lem
Гость
drag&drop
«
:
Декабрь 05, 2010, 18:32 »
поясните плз, как сделать область, при переносе файла на которую переменной присваивался путь к файлу и выполнялся участок кода и как настроить программу чтоб она отображалась не в списке окон (на панели внизу) а в области уведомлений и пявлялась/исчезала при нажатии F11
Записан
ernie
Гость
Re: drag&drop
«
Ответ #1 :
Декабрь 06, 2010, 07:07 »
1.assistant -> Drag and Drop.
2.window flag QT::Tool + assistant->system tray icon
Записан
lem
Гость
Re: drag&drop
«
Ответ #2 :
Декабрь 06, 2010, 14:26 »
1)я так понял, что это был совет посмотреть в ассистенте: посмотрел, но не понял, если не сложно, дайте плз пример
2)вообще не понял
Записан
deaks
Гость
Re: drag&drop
«
Ответ #3 :
Декабрь 06, 2010, 14:52 »
ну емае)))в ассистанте введите Drag and drop examples
Записан
lem
Гость
Re: drag&drop
«
Ответ #4 :
Декабрь 06, 2010, 16:49 »
простите за нубство, но я в QT недавно, многого не понимаю. В ассистенте я искал, НИЧЕГО НЕ ПОНЯЛ, примеров там как таковых не нашел, только описание класса. Гугление тоже ни к чему не привело. У кого есть время, напишите пожалуйста подробно
все, что я смог найти - это drag and drop для qtextedit, но это не совсем то
Записан
deaks
Гость
Re: drag&drop
«
Ответ #5 :
Декабрь 07, 2010, 00:10 »
ну тогда может это вам поможет -
http://www.qtforum.org/article/33691/solved-how-to-get-full-filename-from-drag-and-drop-file.html
Записан
ernie
Гость
Re: drag&drop
«
Ответ #6 :
Декабрь 07, 2010, 07:22 »
lem.
1.Сделать setAcceptDrops(true) для виджета.
void <Имя твоего виджетпа>::dragEnterEvent(QDragEnterEvent *event)
{
bool typeFlag = false;
urls = event->mimeData()->urls();
if (urls.isEmpty()) return;
for (int i=0;i<urls.size();i++)
{
QFileInfo *inf = new QFileInfo(urls.at(i).toString());
QString suf = inf->completeSuffix();
if ((suf=="jpeg")||(suf=="jpg")||(suf=="tiff")||(suf=="png")||(suf=="raw")||(suf=="bmp")||(suf=="gif"))
{
typeFlag = true;
}
}
if (typeFlag==true)
{
event->acceptProposedAction();
}
}
void <Имя твоего виджета>::dropEvent(QDropEvent *event)
{
foreach(QUrl path,urls)
{
QMessageBox::information(this,"dropped files",path.toString());
}
}
В dragEnterEvent проверяем на возможность опускания на виджет файлов этого типа(в примере это картинки с определенным расширением),а в dropEvent уже осуществляем действия нам нужные с опущенными файлами.
2.чтобы не отображалось окно на панели(баре) надо сделать setWindowFlag(Qt::tool),а по созданию в области уведомлений(как я понял в трее),читай System Tray Icon ,так же если хочешь появления по F11 из любого места ОС,придётся заюзать Qext библиотеку,ибо в qt горячие клавиши только при активном виджете программы работают.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...