Название: Drop into QGridLayout Отправлено: Igors от Май 17, 2016, 12:06 Добрый день
Типично шкурное желание "попастись" :) Есть QGridLayout и юзер может "дропать" в него иконки, при этом новые виджеты должны вставляться в лайоут. Надо подсветить пр-к куда будет вставлено и найти его грид-индекс. Возможно юзер захочет вставить вмджет в еще пустую строку/столбец. Ничего кроме QGridLayout::cellRect не нашел, и что делать если тычет за пределами и/или между строками/столбцами - хз. Неужели опять писать велосипед? :'( Может невнимательно читал документацию ??? Ну ткните, ткните носиком :) Спасибо Название: Re: Drop into QGridLayout Отправлено: GreatSnake от Май 17, 2016, 12:47 Может задействовать QListWidget с его встроенным d'n'd?
Название: Re: Drop into QGridLayout Отправлено: Igors от Май 18, 2016, 09:08 Может задействовать QListWidget с его встроенным d'n'd? Не помню может ли он иметь пустые строки/столбцы. Подсветка "куда будет вставлено" и отслеживания мест между строками/столбцами - видимо все равно руками.Задача рисовать эл-ты виджеты соединенные между собой стрелками (типа схемы). Вроде несложно, но некоторые эл-ты могут быть сами схемой и раскрываться (expand/collapse). Поэтому выбрал QGridLayout. Название: Re: Drop into QGridLayout Отправлено: Racheengel от Май 18, 2016, 09:40 Делал подобное с QTreeWidget. Оно "само" умеет дропать между строками (за столбцы не скажу, не нужно было).
Название: Re: Drop into QGridLayout Отправлено: Igors от Май 20, 2016, 08:51 Парюсь уже неск дней. Помаленьку продвигается, но конца-края не видно. Как-то неудачно ложатся вставки/удаления - все время приходится много писать, под ногами путается QLayoutItem. Попробую сформулировать всю задачу
Есть виджет в который мышей вставляются/удаляются айтемы (тоже виджеты). Т.е. по существу "таблица", но при этом: - строки/столбцы не переносятся автоматычно на след строку/столбец - вставка может выполняться между строками/столбцами а также за пределами таблицы. Напр сейчас последняя ячейка (5, 5), но юзер может дропнуть в "ячейку" (10, 10) или (-2, -2) - ну вот хочет он оставить пустое место - айтемы-виджеты могут быть collapsed/expanded с тем же (подобным) содержимым что и вся таблица Вроде все "очень банально", но что-то кода получается много... |