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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt. Перетаскивания иконок , на подобии win8, iPod, i т.д.  (Прочитано 1854 раз)
saim
Гость
« : Июль 29, 2014, 22:51 »

Реализовать на Qt окно с иконками с возможностью их перетаскивания, как на рабочем столе iphone, ipad.
Со всем эффектами - типа ты ведешь ярлык, под ним все разбегаются, перестраиваются, а когда отпускаешь - он туда падает.
Или как на вин8 https://www.youtube.com/watch?v=cEZnHhg2hUE
Причем выписать этот модуль так, чтобы можно было потом его повторно использовать (реюзать).
Без папок, без колонок, просто прямоугольная область, 5-10 ярлыков, драг-н-дроп, они бегают туда, сюда.

Вот то что примерно нужно:
class IconsWidget: QWidget
{
public:
IconsWidget(QWidget* parent);
 
public slots:
// id уникальный для каждой иконки
void onAddIcon(int id, QString name, QColor color);
 
signals:
void iconClicked(int id);
 
// после перетаскивания стреляет iconsReordered - внутри список id иконок по порядку
void iconsReordered(QList<int> newOrder);
}

Подскажите где что почитать , может кто то видел реализацию чего то подобного ..??
Заранее СПАСИБО !
Записан
ammaximus
Гость
« Ответ #1 : Август 04, 2014, 12:18 »

Это делается простыми OnMouseClick OnMouseMove. Отслеживается положение курсора и обнаруживается нет ли под ним других ярлыков. Если есть то для ярлыка стартует анимация. По анимации есть хороший example в qtcreator. Если не боишься java/android вот тебе пример прямо по твоей задаче: https://github.com/thquinn/DraggableGridView
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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