Есть составной виджет, за взаиморасположение отвечает layoutmanager
(QGridLayout, скажем). При импорте в QDesigner у виджета появляются два
свойства — layoutSpacing & layoutMargin.
Во-первых, не могу понять откуда они (или это дезигнер сам такой умный?).
Во-вторых, неудобно — неправильно отображается виджет во время собссно дизайна гуя.
В то же время, в препросмотре всё становится на свои места и эти
свойства вообще игнорируются. Что за суксЪ?
Иначе говоря, господа, как их (свойства) убрать? (Q_OVERRIDE ессно, не помогает,
т.к. эти свойства не унаследованы). Поиск по всем хэдерам и докам практически
ничего не дал..
Re: QDesigner
От:
Аноним
Дата:
30.08.05 07:03
Оценка:
Здравствуйте, Wo-o-olf, Вы писали:
WOO>Есть составной виджет, за взаиморасположение отвечает layoutmanager WOO>(QGridLayout, скажем). При импорте в QDesigner у виджета появляются два WOO>свойства — layoutSpacing & layoutMargin.
WOO>Во-первых, не могу понять откуда они (или это дезигнер сам такой умный?).
WOO>Во-вторых, неудобно — неправильно отображается виджет во время собссно дизайна гуя.
WOO>В то же время, в препросмотре всё становится на свои места и эти WOO>свойства вообще игнорируются. Что за суксЪ?
WOO>Иначе говоря, господа, как их (свойства) убрать? (Q_OVERRIDE ессно, не помогает, WOO>т.к. эти свойства не унаследованы). Поиск по всем хэдерам и докам практически WOO>ничего не дал..
layoutSpacing — расстояние между элементами, которые располагаются
layoutMargin — расстояние(отступ) от границ самого QGridLayout
Во-первых — они (эти свойства) предначертаны самим Qt,
а во-вторых — все отображает правильно и все очень удобно, если умеешь пользоваться...
Здравствуйте, Аноним, Вы писали:
А>layoutSpacing — расстояние между элементами, которые располагаются А>layoutMargin — расстояние(отступ) от границ самого QGridLayout
А>Во-первых — они (эти свойства) предначертаны самим Qt, А>а во-вторых — все отображает правильно и все очень удобно, если умеешь пользоваться...
Что они должны делать, я прекрасно знаю. Вопрос был в другом,
составной виджет состоит из 4 подвиджетов в layout-гриде. Как только я его
ляпаю на формочку между этими подвиджетами дезигнер мне отображает
spacing примерно в районе 5 (в коде я spacing не трогаю). Ctrl+T — он же,
но уже с отступами 0. Компиляем, запускаем — опять ноль.
Откуда такое рассогласование?
Не нравится именно то, что конечный результат расходится с промежуточным
Здравствуйте, Wo-o-olf, Вы писали:
WOO>Что они должны делать, я прекрасно знаю. Вопрос был в другом, WOO>составной виджет состоит из 4 подвиджетов в layout-гриде. Как только я его WOO>ляпаю на формочку между этими подвиджетами дезигнер мне отображает WOO>spacing примерно в районе 5 (в коде я spacing не трогаю). Ctrl+T — он же, WOO>но уже с отступами 0. Компиляем, запускаем — опять ноль. WOO>Откуда такое рассогласование? WOO>Не нравится именно то, что конечный результат расходится с промежуточным
Это скорее всего глюк самого дизайнера...
У меня такого нет.
Какую версию используешь?
Здравствуйте, Wo-o-olf, Вы писали:
WOO>3.3.3(lin), 3.3.4(win).. WOO>ы.. кстати поиск по всей директории находит "layoutMargin" только WOO>в бинарнике QDesigner'a.. дык может это не глюк а фича?
А я еще только 3.1.1(lin), правда есть еще 4, собираюсь переходить.
Может быть и фича... подругим форумам ничего нет по этому поводу?
Может кто сталкивался?
В принципе, если не сильно мешает, то можно смириться...
Мне не мешает, но у людей будет вызывать вопросы..
Ещё, по следам — абсолютно одинаковый виджеты, один наследуем от QHBox, другой от QVBox
Дык вот.. в первом слечае пресловутые свойства появляются, во втором нет..
Вообще, блин, нифига не понимаю
Если кому интересно, поскольку тема сдохла. Итого:
При наследовании виджетов от QFrame и QHBox QDesigner (3.3.3/3.3.4) добавляет свойства
layoutMargin & layoutSpacing, которые приводят к неправильному отображению компонент
во время дизайна, но не влияют на конечный резальтат. Почему QDesigner? Да потому что
указанные названия встречаются только в его бинарнике. Однако же, при использовании
QVBox (иерархия следующая: QFrame->QHBox->QVBox) этот эффект пропадает. Т.о. используя
QVBox в качестве базового и с небольшим танцем с бубном добиваемся нужного результата.
WOO>Если кому интересно, поскольку тема сдохла. Итого:
WOO>При наследовании виджетов от QFrame и QHBox QDesigner (3.3.3/3.3.4) добавляет свойства WOO>layoutMargin & layoutSpacing, которые приводят к неправильному отображению компонент WOO>во время дизайна, но не влияют на конечный резальтат. Почему QDesigner? Да потому что WOO>указанные названия встречаются только в его бинарнике. Однако же, при использовании WOO>QVBox (иерархия следующая: QFrame->QHBox->QVBox) этот эффект пропадает. Т.о. используя WOO>QVBox в качестве базового и с небольшим танцем с бубном добиваемся нужного результата.
Здравствуйте, Wo-o-olf, Вы писали:
WOO>Здравствуйте, jazzer, Вы писали:
J>>В TrollTech не закидывал этот баг?
WOO>Нет :=) с аглицким проблемы, тока читаю.
When inheriting a custom widget from QFrame or QHBox, QDesigner (3.3.3/3.3.4) adds layoutMargin & layoutSpacing properties for this widget, and this results in incorrect placement of the widget in design-time (but it doesn't affect the final compiled result).
The only workaround I found is to use QVBox (i.e. QFrame->QHBox->QVBox) as the base class in the hierarchy.
I believe this is a bug in QDesigner because the only file in the Qt library installation which has layoutMargin & layoutSpacing strings is QDesigner.