Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
2 / 2 / 0
Регистрация: 17.02.2013
Сообщений: 142
1

Drag and Drop в QGraphicsView

24.02.2014, 01:32. Показов 3388. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Переопределил я dragEnterEvent:
C++ (Qt)
1
2
3
void Map::dragEnterEvent(QDragEnterEvent *event){
    qDebug()<<"drag";
}
Теперь, как я думал, при клике и перетаскивании появится сообщение в консоле, но не тут то было...
В конструкторе моего виджета я прописал следующее:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
class Map:public QGraphicsView{
    Q_OBJECT
public:
    Map();
    //void mouseDoubleClickEvent(QMouseEvent *event);
    //bool eventFilter(QObject *obj, QEvent *event);
    void dragEnterEvent(QDragEnterEvent *event);
    //void dragMoveEvent(QDragMoveEvent *event);
    void dropEvent(QDropEvent *event);
};
C++ (Qt)
1
2
3
4
5
6
Map::Map(){
    this->installEventFilter(this);
    this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    this->setAcceptDrops(true);
}
Подскажите пожалуйста, что не так ?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2014, 01:32
Ответы с готовыми решениями:

Drag and Drop между QListWidget и QGraphicsView
Решил сделать список графических элементов, которые перетаскиванием нужно будет размещать на сцене....

Drag n Drop
В общем пытаюсь сделать drag n drop . имеется textEdit , туда перетаскиваю текстовый файл. В...

Drag and drop
Доброго времени суток! Задача такая, с помощью Drag and drop перенести какой-либо виджет(это может...

Drag and Drop
Нужна помощь в реализации D&amp;D в своей программе. Вообщем, у меня имеется классы наследующие...

5
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
24.02.2014, 09:48 2
А что перетаскиваем?
QDrag где создается?
0
2 / 2 / 0
Регистрация: 17.02.2013
Сообщений: 142
24.02.2014, 11:06  [ТС] 3
Эм, перетаскиваем карту, которая там внутри, ну и объекты все, которые на карте. (чтобы не скролл прокручивать, а мышкой таскать )))

C++ (Qt)
1
2
3
4
5
6
7
 map = new Map();
    gs = new QGraphicsScene(this);
    map->setScene(gs);
......
if(image->load("images/maps/"+map_name+".jpg"))st->showMessage("Ошибка загрузки изображения карты",2000);
        gs->clear();
        gs->addPixmap(*image);
Вот так изображение карты помещаю.
Эм, в примере, который я смотрел, QDrag не создавался ((
Или это не удачный пример http://qt.e-werest.org/blog/tutorial/3055.html
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
24.02.2014, 12:17 4
wollk, то, что Вы хотите, не является drag'n'drop.
0
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
24.02.2014, 12:44 5
Лучший ответ Сообщение было отмечено wollk как решение

Решение

wollk,
Цитата Сообщение от wollk Посмотреть сообщение
Эм, перетаскиваем карту, которая там внутри, ну и объекты все, которые на карте. (чтобы не скролл прокручивать, а мышкой таскать )))
Для вашего QGrapicsView нужно прописать
C++ (Qt)
1
setDragMode(QGraphicsView::ScrollHandDrag);
И не нужно никаких dragEvent переопределять.
1
2 / 2 / 0
Регистрация: 17.02.2013
Сообщений: 142
24.02.2014, 18:07  [ТС] 6
О_О не ожидал, что все будет так просто
0
24.02.2014, 18:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2014, 18:07
Помогаю со студенческими работами здесь

Drag and drop QTableView
Доброго времени суток. Задача такая. Есть класс, который хранит у себя вектор объектов другого...

Drag & drop
Я ничего не смыслю в qt. Кто может, помогите пожалуйста склеить программу из этого -...

Drag and Drop в QGraphicsScene
Здравствуйте! Столкнулся с такой проблемой. Есть у меня сцена: class BattleScene : public...

Drag & Drop
Доброго! Подскажите пожалуйста, перекрыл dropEvent (QDropEvent * event) в QTableWidget-e, тяну с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru