Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: BaltikS от Ноябрь 26, 2006, 10:55



Название: Фокус на нескольких виджетах
Отправлено: BaltikS от Ноябрь 26, 2006, 10:55
Возможно ли выделить несколько виджетов, например держа клавишу SHIFT или "резиновой лентой" в Qt 3??


Название: Фокус на нескольких виджетах
Отправлено: Dendy от Ноябрь 26, 2006, 16:48
Нестандартное решение - следствие нестандартной задачи. Ето где конечному пользователю нужно вьІделять несколько виджетов на форме? Опишите ка задачу поподробней.


Название: Фокус на нескольких виджетах
Отправлено: BaltikS от Ноябрь 26, 2006, 18:11
По-подробней...... Каждый виджет - визуальный прямоугольник с разными свойствами..... Как выделить несколько прямоугольников и допутим удалить или перенсти мышкой в другое место ;)....


Название: Фокус на нескольких виджетах
Отправлено: Tonal от Ноябрь 26, 2006, 18:48
Может использовать таблицу или QGraphicsView?


Название: Фокус на нескольких виджетах
Отправлено: BaltikS от Ноябрь 26, 2006, 19:13
Цитата: "Tonal"
Может использовать таблицу или QGraphicsView?
не то, итемы в ячейки не потаскаешь.....да и QGraphicsView в Qt3 нет


Название: Фокус на нескольких виджетах
Отправлено: Вячеслав от Ноябрь 26, 2006, 21:22
Кста : Focus & Selection - несколько разные вещи ;)


Название: Фокус на нескольких виджетах
Отправлено: Tonal от Ноябрь 26, 2006, 21:34
Цитата: "BaltikS"
Цитата: "Tonal"
Может использовать таблицу или QGraphicsView?
не то, итемы в ячейки не потаскаешь.....да и QGraphicsView в Qt3 нет

Ну, сами итемы можно не таскать - тут можно просто Drg&Drop прикрутить.
А насчёт QGraphicsView - в тройке вродь QCanvas аналогично испоьзовался?


Название: Фокус на нескольких виджетах
Отправлено: BaltikS от Ноябрь 27, 2006, 08:04
QWidget selection - нет!!!
У QCanvas - есть... Но доспускает ли он множественное выделение? Вообще если честно заморачиваться с ним не хочется. Поскольку он тормознут!


Название: Фокус на нескольких виджетах
Отправлено: Racheengel от Ноябрь 27, 2006, 11:26
Хм... ну в дизайнере это как-то сделали...


Название: Фокус на нескольких виджетах
Отправлено: Tonal от Ноябрь 27, 2006, 12:25
Всёж-таки обясни задачу более подробно...
То что виджеты в основном "визуальные прямоугольники с разными свойствами" думаю тут все догадываються. ;-)
Что ты делать-то пытаешься (в терминах пользователя)?


Название: Фокус на нескольких виджетах
Отправлено: BaltikS от Ноябрь 27, 2006, 13:06
Объясняю более доступно... Представьте Word. Так там есть компоненты рисования(прямоугольник, треугольник, овал, текст и т.д.). Как мне выделить допустим 3 компонента из 10 и переместить? С одним проблем нет, а вот с несколькими?


Название: Фокус на нескольких виджетах
Отправлено: ElderOrb от Ноябрь 27, 2006, 13:12
А зачем вообще таскать именно виджэты? Почему не таскать QImage с их изображениями а сами виджэты до отпускания мышки просто спрятать.


Название: Фокус на нескольких виджетах
Отправлено: BaltikS от Ноябрь 27, 2006, 13:39
А что с этого я выиграю?


Название: Фокус на нескольких виджетах
Отправлено: ElderOrb от Ноябрь 27, 2006, 14:03
Не будет вопросов о выделении нескольких виджэтов да и работать по-идее это должно быстрее.


Название: Фокус на нескольких виджетах
Отправлено: QCasper от Ноябрь 27, 2006, 14:15
Не понимаю сложности вопроса... выделяешь как тебе удобно твои виджеты, будь то шифтом, будь то рамкой, и в какой-нить список сохраняешь указатели на них (на виджеты). Перегружаешь mouseMove так: если есть в списке указатели и зажата левая кнопка (ну и если левая кнопка была нажата именно над одним из выделенных виджетов) то бежишь по списку и каждому указателю pointerList->move(point); где point это точка которая вычисляется исходя из текущих координат курсора мыши и координат конкретного виджета. То есть по сути тебе надо смещать выделенные виджеты на то же расстояние, какое и проехала мышка с нажатой левой клавишей.


Название: Фокус на нескольких виджетах
Отправлено: BaltikS от Ноябрь 27, 2006, 14:56
Это всё правильно, ну я думал что возможно кто нить знает более простой способ решения данной проблеммы, например как это сделано в Qt 4.2 в QGraphicsView..... Видимо прийдётся писать :)...


Название: Фокус на нескольких виджетах
Отправлено: QCasper от Ноябрь 27, 2006, 15:05
Цитата: "BaltikS"
Это всё правильно, ну я думал что возможно кто нить знает более простой способ решения данной проблеммы, например как это сделано в Qt 4.2 в QGraphicsView..... Видимо прийдётся писать :)...


Да на самом деле такую модельку не долго реализовать, я даже на MFC делал  :D