Название: Табличное расположение QLabel Отправлено: zodiac от Ноябрь 20, 2008, 22:59 Необходимо на виджете сделать таблицу из qlabel (т.е. чтобы qlabel выглядели просто ровно). Пробовал через qgridlayout, но он убого это делает. Все куда-то уехжает и т.п. Надо разместить qlabel в n строчек (могут быть пустые места) и в m столбцов. Qlabel 70*100. Как это лучше всего сделать?
Название: Re: Табличное расположение QLabel Отправлено: Пантер от Ноябрь 21, 2008, 07:12 QGridLayout отлично все делает, читай доки по нему.
Название: Re: Табличное расположение QLabel Отправлено: kirill от Ноябрь 21, 2008, 08:21 Как вариант использовать QTableWidget
Название: Re: Табличное расположение QLabel Отправлено: spirit от Ноябрь 21, 2008, 09:08 да, оптимальнее заюзать QTableWidget, на крайняк QTableView. скорость будет выше, тут я с kirill'ом согласен.
Название: Re: Табличное расположение QLabel Отправлено: zodiac от Ноябрь 21, 2008, 15:08 Код: QGridLayout *mainLayout = new QGridLayout; Название: Re: Табличное расположение QLabel Отправлено: pastor от Ноябрь 21, 2008, 15:31 Ну и где это нормально? А что неустраивает? Скрин приложи хоть ЗЫ: Делал точно такую таблицу на лейблах с использование QGridLayout - проблем никаких Название: Re: Табличное расположение QLabel Отправлено: zodiac от Ноябрь 22, 2008, 20:36 http://zodiac.egghost.ru/node/28 (http://zodiac.egghost.ru/node/28)
Во-первых, между qlabel большое расстояние (между строками), а во-вторых, надо бы начинать рисовать с левого верхнего угла. Пробовал делать выравнивание, но они начинают наползать друг на друга. Щас буду пробовать рисовать по координатам. Название: Re: Табличное расположение QLabel Отправлено: pastor от Ноябрь 22, 2008, 20:43 Судя по скриншоту, лайаут расятнулся на все пространтсво виджета, но так как размеры лейблов фиксированны, получаем то что сейчас видем на скриншоте. Добавьте в лайаут снизу и справа по спейсеру.
Название: Re: Табличное расположение QLabel Отправлено: zodiac от Ноябрь 22, 2008, 21:04 Если добавить еще qlabel и спейсеры, то второй будет наползать на первый. я так проверял уже. хочу через qpainter рисовать. получится?
Название: Re: Табличное расположение QLabel Отправлено: pastor от Ноябрь 22, 2008, 21:19 Про наползание малехо не понял. Спейсеров нужно только 2: снижу и справа. Лично я бы с пайинтером бы незаморачивался, а заюзал бы QTableWidget.
Название: Re: Табличное расположение QLabel Отправлено: zodiac от Ноябрь 22, 2008, 21:21 Ну да. два спейсера и два лейбла = наползание второго на первый.
А можно еще как-то изменить место, откуда начинать рисовать qlabel? Без qpainter... Название: Re: Табличное расположение QLabel Отправлено: lit-uriy от Ноябрь 22, 2008, 21:47 ничего никуда не наползает, пример прикреплен
Название: Re: Табличное расположение QLabel Отправлено: zodiac от Ноябрь 22, 2008, 21:50 Дык мне надо динамически это рисовать. Меня интересует как можно их по координатам располагать. QLayout не дает юзать setGeometry
Название: Re: Табличное расположение QLabel Отправлено: lit-uriy от Ноябрь 22, 2008, 22:32 QLayout не дает юзать setGeometry И правильно делает, установи у виджета политику и, если необходимо, макимальный и минимальный размер.П.С. теме место в "новичках" Название: Re: Табличное расположение QLabel Отправлено: zodiac от Ноябрь 22, 2008, 23:37 Сделал так:
Код: QGridLayout *layout = new QGridLayout(this); |