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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Фокус на нескольких виджетах  (Прочитано 8920 раз)
BaltikS
Гость
« : Ноябрь 26, 2006, 10:55 »

Возможно ли выделить несколько виджетов, например держа клавишу SHIFT или "резиновой лентой" в Qt 3??
Записан
Dendy
Гость
« Ответ #1 : Ноябрь 26, 2006, 16:48 »

Нестандартное решение - следствие нестандартной задачи. Ето где конечному пользователю нужно вьІделять несколько виджетов на форме? Опишите ка задачу поподробней.
Записан
BaltikS
Гость
« Ответ #2 : Ноябрь 26, 2006, 18:11 »

По-подробней...... Каждый виджет - визуальный прямоугольник с разными свойствами..... Как выделить несколько прямоугольников и допутим удалить или перенсти мышкой в другое место Подмигивающий....
Записан
Tonal
Гость
« Ответ #3 : Ноябрь 26, 2006, 18:48 »

Может использовать таблицу или QGraphicsView?
Записан
BaltikS
Гость
« Ответ #4 : Ноябрь 26, 2006, 19:13 »

Цитата: "Tonal"
Может использовать таблицу или QGraphicsView?
не то, итемы в ячейки не потаскаешь.....да и QGraphicsView в Qt3 нет
Записан
Вячеслав
Гость
« Ответ #5 : Ноябрь 26, 2006, 21:22 »

Кста : Focus & Selection - несколько разные вещи Подмигивающий
Записан
Tonal
Гость
« Ответ #6 : Ноябрь 26, 2006, 21:34 »

Цитата: "BaltikS"
Цитата: "Tonal"
Может использовать таблицу или QGraphicsView?
не то, итемы в ячейки не потаскаешь.....да и QGraphicsView в Qt3 нет

Ну, сами итемы можно не таскать - тут можно просто Drg&Drop прикрутить.
А насчёт QGraphicsView - в тройке вродь QCanvas аналогично испоьзовался?
Записан
BaltikS
Гость
« Ответ #7 : Ноябрь 27, 2006, 08:04 »

QWidget selection - нет!!!
У QCanvas - есть... Но доспускает ли он множественное выделение? Вообще если честно заморачиваться с ним не хочется. Поскольку он тормознут!
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #8 : Ноябрь 27, 2006, 11:26 »

Хм... ну в дизайнере это как-то сделали...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Tonal
Гость
« Ответ #9 : Ноябрь 27, 2006, 12:25 »

Всёж-таки обясни задачу более подробно...
То что виджеты в основном "визуальные прямоугольники с разными свойствами" думаю тут все догадываються. ;-)
Что ты делать-то пытаешься (в терминах пользователя)?
Записан
BaltikS
Гость
« Ответ #10 : Ноябрь 27, 2006, 13:06 »

Объясняю более доступно... Представьте Word. Так там есть компоненты рисования(прямоугольник, треугольник, овал, текст и т.д.). Как мне выделить допустим 3 компонента из 10 и переместить? С одним проблем нет, а вот с несколькими?
Записан
ElderOrb
Гость
« Ответ #11 : Ноябрь 27, 2006, 13:12 »

А зачем вообще таскать именно виджэты? Почему не таскать QImage с их изображениями а сами виджэты до отпускания мышки просто спрятать.
Записан
BaltikS
Гость
« Ответ #12 : Ноябрь 27, 2006, 13:39 »

А что с этого я выиграю?
Записан
ElderOrb
Гость
« Ответ #13 : Ноябрь 27, 2006, 14:03 »

Не будет вопросов о выделении нескольких виджэтов да и работать по-идее это должно быстрее.
Записан
QCasper
Гость
« Ответ #14 : Ноябрь 27, 2006, 14:15 »

Не понимаю сложности вопроса... выделяешь как тебе удобно твои виджеты, будь то шифтом, будь то рамкой, и в какой-нить список сохраняешь указатели на них (на виджеты). Перегружаешь mouseMove так: если есть в списке указатели и зажата левая кнопка (ну и если левая кнопка была нажата именно над одним из выделенных виджетов) то бежишь по списку и каждому указателю pointerList->move(point); где point это точка которая вычисляется исходя из текущих координат курсора мыши и координат конкретного виджета. То есть по сути тебе надо смещать выделенные виджеты на то же расстояние, какое и проехала мышка с нажатой левой клавишей.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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