LINUX.ORG.RU

Дизайнеры форм. Использовать или нет?


0

1

Вот посмотрел я сейчас несколько первых попавшихся софтин из KDE — все по дизайну простые донельзя. У себя .ui не использую, всё пишу руками в коде самой программы.

В каких случаях может понадобиться использования форм? Какие тут плюсы и минусы?

Да и вообще, Qt Designer я не осилил. При написании гуя в коде чувствую полный контроль. Или же Ъ пишут .ui—файлы руками? Или Ъ их таки вообще не используют?

★★★★★

*Ушёл спать, а то сосиски с пивом в 7 утра после бессонной ночи кидают в нестандартные ниши философии*

Obey-Kun ★★★★★
() автор топика

>При написании гуя в коде чувствую полный контроль

Это не взаимоисключающие параграфы, по крайней мере в Gtk. Мы можем получить указатель на любой виджет(или контейнер) созданный в дизайнере форм, ну и как угодно с ним работать. Преимущество тут в том, что позиционирование виджетов проще, удобнее и быстрее делать с GUI. Да и объем кода уменьшается, что тоже не плохо.

CrossFire ★★★★★
()
Ответ на: комментарий от CrossFire

>Да и объем кода уменьшается
вот это нет, графический дизайнер (напр. тот же нетбинс) плодит (чаще всего) кучу (небольшую, но все таки) лишнего кода

anonymous_sapiens ★★★★★
()
Ответ на: комментарий от anonymous_sapiens

На самом деле смешного мало, ибо в GTK кодогенерацией во время компиляции никто не занимается. Генерация интерфейса вынесена в рантайм, man GtkBuilder.

fat_angel ★★★★★
()

В каких случаях может понадобиться использования форм? Какие тут плюсы и минусы?

когда нужно сделать сложный интерфейс - проще использовать дизайнер (ибо кучу спейсеров руками расставлять - засада, хотя и не страшно), когда интерфейс не сложный - лучше ручками, когда интерфейс состоит из нескольких вложенных рукописных виджетов - тоже лучше ручками

shty ★★★★★
()

Если ты делаешь софт который может использоваться в нескольких странах,

то при локализации следует учитывать возможность изменения интерфейса. Все просто, локализованные надпеси могут оказаться шире\уже оригинальных, соотвественно нужно изменять позиционирование элементов управления, в Win для этого есть понятие ресурсов кои вкомпилируются в бинарник и легко редактируются, в линаксе только костыли.

//wfrr

anonymous
()

локализованные надпеси могут оказаться шире\уже оригинальных, соотвественно нужно изменять позиционирование элементов управления

в линаксе только костыли.

Ололошеньки. Причем тут линукс? Белка ты совсем скатился. Или это твой дискредитатор?

Сколько себя помню никогда не надо было задавать pixel size в tk, qt и qtk, лейауты решают. Даже в жабке такое есть, насколько знаю.

baverman ★★★
()
Ответ на: комментарий от baverman

Ты просто не писало сложной гуйни. Даже в жабке, даже с ее GroupLayout и даже с учетом уникально возможности задавать deirection ltr или rtl, монопенисуально, механизм с ресурсами получается удобнее для локализатора и позволяет создать более юзабельную локализацию. факт в том что ява это умеет ибо ресурсы там хранятся в jar, венда как я писал выше, а ваш линакс?

//wfrr

anonymous
()
Ответ на: комментарий от anonymous

Ты просто не писало сложной гуйни.

Примеры сложной гуйни в студию.

механизм с ресурсами получается удобнее для локализатора и позволяет создать более юзабельную локализацию

gettext? Не надо даже в кишки приложения лезть, локализация проходит нежно и гладко.

baverman ★★★
()
Ответ на: комментарий от baverman

>Примеры сложной гуйни в студию.

Ты что на эти примеры делать то собрался?

gettext? Не надо даже в кишки приложения лезть, локализация проходит нежно и гладко.

Ога, да ты тухлый теоретег, без контекста применения локализуемой фразы получится феерический бред а-ля переводчик Промт Иванович, а с твоим костылем (кой в бинарник не запихивается) придется еще искать деже в программе юзается твой строчка, не говоря уже о кривом интерфейсе как в линаксе.

//wfrr

anonymous
()

Конечно лучше дизайнер, и чем дальше пойдет в декларативку в будущем, тем более будет это удобне (WPF, QtScript, JavaFX, ClutterScript). Програмки становятся все более раздизайнеными и потому скоро морду практически везде будут делать отдельные эксперты художники в специальных тулзах типо Expression Blend. Писать гуй ручками канет в прошлое и это будут делать только для генерации, например форм, на основе метаинформации. Мы так делаем в одном проекте. Из Java аннотаций на сущностях и связях между ними генерируются красивые формы в рантайме и хорошо работают. Все автоматически.

vertexua ★★★★★
()
Ответ на: комментарий от baverman

Нифига мне даже место в памяти лора нашлось, просто тебе ничего возразить.

//wfrr

anonymous
()
Ответ на: комментарий от Gorthauer

я помню в jdeveloper была такая фича - добавляешь на формочку любой бин, захочешь переместить в коде появляется новая строчка с координатами (предыдущая тоже остается)

layout=null

anonymous_sapiens ★★★★★
()
Ответ на: комментарий от Gorthauer

Детка, а ты видела редактор ресурсов для готового elf файла?

//wfrr

anonymous
()

>Какие тут плюсы и минусы?
Кроме всего прочего, при использовании систем контроля версий, дизайн, написанный в коде, проще мержить и т.п.

Мы можем получить указатель на любой виджет(или контейнер) созданный в дизайнере форм

В Qt - аналогично.

при локализации следует учитывать возможность изменения интерфейса

В Qt это все учтено, если использовать лайоуты. Правда есть один минус - именование всех надписей необхдимо выносить в отдельный метод и вызывать его при событии «смена языка». Сделанные же в дизайнере виджеты это делают автоматически.

Ты просто не писало сложной гуйни.

Хотелось бы действительно посмотреть на пример сложной ГУЙни, который бы не сработал при использовании переводчика Qt. Не флуда ради, а просто из академического интереса.

trex6 ★★★★★
()
Ответ на: комментарий от anonymous

>без контекста применения локализуемой фразы получится феерический бред а-ля переводчик Промт Иванович

а кто мешает писать контекст в комментариях? gettext на самом деле рулит, просто белко как обычно не осилила. Хотя для любителей гуйни есть Qt Linguist. Там и виджеты подсвечиваются, и файлик с переводом можно в ресурсы засунуть.

nu11 ★★★★★
()
Ответ на: комментарий от nu11

>а кто мешает писать контекст в комментариях? gettext на самом деле рулит, просто белко как обычно не осилила.

Просто мне какбы лень делать тупую быдлоработу которую в венде и жаве давно автоматизировали.

//wfrr

anonymous
()
Ответ на: комментарий от shty

>>когда интерфейс не сложный - лучше ручками

чем лучше?

когда интерфейс состоит из нескольких вложенных рукописных виджетов - тоже лучше ручками


почему?

alex_custov ★★★★★
()
Ответ на: комментарий от alex_custov

>>когда интерфейс состоит из нескольких вложенных рукописных виджетов - тоже лучше ручками

почему?


На самом деле не лучше, а проще, тупо в визуальном редакторе оставить место, а потом вставить то, что сам намутил.

CrossFire ★★★★★
()
Ответ на: комментарий от CrossFire

>>На самом деле не лучше, а проще, тупо в визуальном редакторе оставить место, а потом вставить то, что сам намутил.

ЩИТО? Widget Promoting и никаких мест.

http://doc.qt.nokia.com/latest/designer-using-custom-widgets.html#promoting-w...

alex_custov ★★★★★
()

Я по началу прям таки кайф ловил от описания гуя руками. :} Оказалось, что если нужно быстренько что-нибудь накидать, то Designer - вполне таки годная штука. А что там непонятно? Накидал форму, выставил параметры, дал названия объектам, подцепил ui и дальше всё как обычно.

Insomnium ★★★★
()
Ответ на: комментарий от Obey-Kun

> 6:58:22 *Ушёл спать

7:32:38 Потыкал пару минут и бросил. Испугала сама идея


Будь мужиком, соберись, ты сможешь

wxw ★★★★★
()
Ответ на: комментарий от wxw

> Будь мужиком, соберись, ты сможешь

Уже проснулся.

Obey-Kun ★★★★★
() автор топика

Я его использую для простых форм, сложные предпочитаю писать руками.

Zhbert ★★★★★
()

Используй, че. Сэкономишь себе немного времени. Но помни! Что нормальный гуй возможен только с помощью рук. И ног

alienclaster ★★★
()
Ответ на: комментарий от alex_custov

>>когда интерфейс не сложный - лучше ручками

чем лучше?

тупо быстрее, и рефакторить легче

>>когда интерфейс состоит из нескольких вложенных рукописных виджетов - тоже лучше ручками

почему?

потому что этот случай = предыдущему, т.к. в данном случае составной компонент содержит компоненты предыдущего типа

shty ★★★★★
()
Ответ на: комментарий от vertexua

будут делать только для генерации, например форм, на основе метаинформации. Мы так делаем в одном проекте. Из Java аннотаций на сущностях и связях между ними генерируются красивые формы в рантайме

Одобряем. :)

Не везде работает, но в некоторых случаях может уменьшить объем работы с гуйней процентов так на 80.

pathfinder ★★★★
()

Я люблю ручками писать, но иногда дизайнером удобнее. А ручками контроля больше , захотел ресайз нестандартный замутил , захотел еще что.. все объекты сам создавал , сам выращивал , все про них знаешь

Loki13 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.