Здравствуйте, гость ( Вход | Регистрация )
enslaver | Дата 26.3.2010, 18:53 |
Спасибо, это помогло использовал 2 вариант. ListView->viewport()->mapFrom(this,event->pos()) Работает именно так как должно, огромное спасибо ))) теперь могу хоть дальше работу продолжить.... Оста лось только меню реализовать (копировать или переместить) и контекстное меню, а то тоже немного не понял как оно риализовывается... |
|
MoPDoBoPoT | Дата 25.3.2010, 20:57 |
Ты QDropEvent обрабатываешь в главном окошке, из-за этого, по-моему, координаты, получаемые из event->pos(), являются относительными к главному окну. Надо сделать что-то вроде этого:
Если координаты все-таки глобальные, то использовать mapFromGlobal() (из доки что-то не ясно). Еще, возможно, надо будет приводить к коодинатам вьюпорта:
|
|
enslaver | Дата 25.3.2010, 20:47 |
да (x1.5,y1.5) координаты локальные для QListView. А насчет примера знаю что нету, и как с подобным быть не знаю... неужели никто не пытался написать свой файловый браузер? |
|
Litkevich Yuriy | Дата 25.3.2010, 17:36 |
// возвращает QPoin где остановился курсор А в чьих координатах? Виджета (QListview), его области просмотра или вовсе в глобальных. Я оперативно в доке не увидел подобной оговорки.... то бишь точку в которой остановился курсор. (x0.5,y0.5) не понял этой записи, может (1.5x, 1.5y) ? |
|
enslaver | Дата 25.3.2010, 17:00 |
Я начинающий Чайник на QT. Делать вот мне нечего пишу Файловый браузер, за основу взял Долфин. Столкнулся с проблемой. перетаскиваю объект(любой) хоть на папку хоть на файл, получаю
то бишь точку в которой остановился курсор. !!!И тут вот она и проблема!!!! пытаюсь получить имя объекта на котором остановился курсор
но он понимает только верхнюю левую точку области выделения объекта, а внутри области он их не видит, и следовательно ничего не возвращает. для понимания проблемы привету вам модель проблемы: (x1,y1)----------(x2,y1) |****************| |****************| |****(x0.5,y0.5)****| |****************| |****************| (x1,y2)--------------(x2,y2)
координаты (x0.5,y0.5); А функция ниже может обрабатывать только точки с координатами(x1,y1);
нужно что бы при любых (x0.5,y0.5) он возвращал нужное значение(x1,y1); сурц всего этого дела прикреплю. file_comander.tar.gz ( 5.33 килобайт ) Кол-во скачиваний: 416 Нужно реализовать перемещение в папку. А вот как это сделать толком так нигде и не видел, может кто поможет, а то уже не первый день сижу голову ломаю.... |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 24.4.2024, 2:25 |