Название: Виджет с креплением Отправлено: Xambey от Март 10, 2016, 19:11 Здравствуйте Форумчане! Подскажите, можно ли (и если можно как, реализовать) сделать QWidget, с креплением для QPushButton . P.s я хочу сделать сетку из таких QWidget с возможностью перемещения кнопок между ними. Заранее Спасибо!
Название: Re: Виджет с креплением Отправлено: kambala от Март 10, 2016, 19:18 что такое «крепление»?
Название: Re: Виджет с креплением Отправлено: Bepec от Март 10, 2016, 19:59 Видимо он имеет что то типо координатной сетки с прилипанием к ней при перемещении QPushButton мышкой.
Да, можно сделать QWidget с креплением для QPushButton. Теперь осталось понять чего вы хотите :D Название: Re: Виджет с креплением Отправлено: ViTech от Март 10, 2016, 20:32 Сделать это можно. Сложность зависит от того, насколько красиво это должно выглядеть в плане внешнего вида и анимации. Для простого случая должно хватить одного QWidget с QGridLayout, в ячейках которого будут располагаться QPushButton. Для перетаскивания, скорей всего, придётся воспользоваться Drag and Drop (http://doc.qt.io/qt-5/dnd.html). Там внизу есть примеры про перетаскивание, возможно они помогут.
Название: Re: Виджет с креплением Отправлено: Xambey от Март 10, 2016, 23:09 Сделать это можно. Сложность зависит от того, насколько красиво это должно выглядеть в плане внешнего вида и анимации. Для простого случая должно хватить одного QWidget с QGridLayout, в ячейках которого будут располагаться QPushButton. Для перетаскивания, скорей всего, придётся воспользоваться Drag and Drop (http://doc.qt.io/qt-5/dnd.html). Там внизу есть примеры про перетаскивание, возможно они помогут. Вы имеете ввиду, что каждый qwidget, будет иметь в себе слой, в который и будет крепиться переместившиеся кнопка? Если да, то вопрос, как 'отлавливать' тот момент, что кнопка попала в зону 'крепления', спасибо Название: Re: Виджет с креплением Отправлено: Xambey от Март 10, 2016, 23:11 Видимо он имеет что то типо координатной сетки с прилипанием к ней при перемещении QPushButton мышкой. Сетка шахмат, состоящая из виджетов клеток(qwidget), и к каждому может прикрепляться кнопкаДа, можно сделать QWidget с креплением для QPushButton. Теперь осталось понять чего вы хотите :D Название: Re: Виджет с креплением Отправлено: Bepec от Март 10, 2016, 23:31 При движении мыши с зажатой кнопкой генерируется событие MouseMove.
так же у каждого виджета имеются события входа мыши и выхода из своего пространства. Вам остаётся только написать проверки на наличие кнопки и заставить кнопку перетягиваться. Но опять всё зависит от конечной цели. Мб лучше будет один виджет, который будет разбит на клетки :D Название: Re: Виджет с креплением Отправлено: Smogg от Март 11, 2016, 03:32 Драгэндроп, определенно. Реализация может сперва и покажется переусложненной, но там есть все, что вам надо: событие начала таскания баттона, событие позиционирования баттона, гарантированное оповещение о успехе или неуспехе перетаска.
Название: Re: Виджет с креплением Отправлено: Igors от Март 11, 2016, 12:25 Сетка шахмат, состоящая из виджетов клеток(qwidget), и к каждому может прикрепляться кнопка Не видно зачем каждую клетку делать виджетомВы имеете ввиду, что каждый qwidget, будет иметь в себе слой, в который и будет крепиться переместившиеся кнопка? Если да, то вопрос, как 'отлавливать' тот момент, что кнопка попала в зону 'крепления', спасибо Какой "слой"? Зачем вообще выдумывать неестественный термин "крепление"? Нужно чтобы фигура перетаскивалась и встала в нужную клетку? Это делается простейшими средствами - перекрытием mousePressed/Released/Moved и даже без всякого drag'n'drop Название: Re: Виджет с креплением Отправлено: Bepec от Март 11, 2016, 12:32 Тут важна конечная цель. А без неё можно что угодно фантазировать :D
Название: Re: Виджет с креплением Отправлено: ViTech от Март 11, 2016, 13:05 Вы имеете ввиду, что каждый qwidget, будет иметь в себе слой, в который и будет крепиться переместившиеся кнопка? Если да, то вопрос, как 'отлавливать' тот момент, что кнопка попала в зону 'крепления', спасибо Можно в одном qwidget располагать несколько кнопок, которые будут иметь позиции и размеры в соответствии с ячейками QGridLayout. Вообще по-разному можно делать, зависит от потребностей. Изучайте примеры и выбирайте подходящий вариант. Название: Re: Виджет с креплением Отправлено: Racheengel от Март 11, 2016, 14:06 в итоге что надо то? редактор типа Qt Designer?
Название: Re: Виджет с креплением Отправлено: Xambey от Март 11, 2016, 18:12 Спасибо всем! Вместе вы составили полную картину того, что мне надо:)
|