LINUX.ORG.RU

Qt Designer и Layouts


0

0

Вот тут решил немного освоить Qt. Долго думать не стал и запустил Qt Designer. На форме MainWindow расположил GridLayout и добавил пару элементов. Затем все это преобразовал в .cpp (создался класс Ui_MainWindow) и создал объект типа Ui_MainWndow в минимальном cpp приложении, ну и у него вызвал метод show(). Так вот, оказалось, что GridLayout не выполняет свою роль, т.е. (например, при ресайзе формы) не управляет геометрией и расположением объектов, находящихся в нем.

После недолг^W длительных размышлений, я полистал код класса Ui_MainWindow и увидел, что для каждого (как потом оказалось) Layout'а Qt Designer создает widget (в данном случае gridLayoutWidget ), параметры которого нельзя, как я понял, задавать в кутедезайнере.

Что это? Баг? Фича? И если последнее, то как этим пользоваться? :)


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

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

"Ручками" писать для меня не проблема, но если что-то можно ускорить, то почему бы и не сделать так.

А вообще, придется теперь наверное тоже все руками делать, либо проверять код, генерируемый Qt Designer'ом. Хорошо, что этот код хоть в основном вменяемый и читабельный, и я не занимаюсь большими проектами.

du_hast
() автор топика

Почитай сначала документацию. Там _все_ написано. Вообще всё! Всё-всё. С примерами, картинками, описан каждый жаг и каждая деталь.

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

> Вот неплохая книжка:

Я вообще уже много лет удивляюсь, нахрена все эти книги про Qt, когда в документации Qt все есть.

smh ★★★
()

[SOLVED] Qt Designer и Layouts

/me посыпает голову первым, что попалось под руку

хм, надо было вызвать контекстное меню прямо на форме и выбрать в подменю "Lay out" какой-нибудь layout.

du_hast
() автор топика
Ответ на: [SOLVED] Qt Designer и Layouts от du_hast

> хм, надо было вызвать контекстное меню прямо на форме и выбрать в подменю "Lay out" какой-нибудь layout.

*вместо добавления его из Widget Box'a

du_hast
() автор топика
Ответ на: комментарий от smh

>Я вообще уже много лет удивляюсь, нахрена все эти книги про Qt, когда в документации Qt все есть.

В хороших книгах материал систематизирован и его сложность идёт по нарастающей. Документация очень хороша, но только для тех кто с ней умеет правильно работать ;)

Demon37 ★★★★
()

в дизайнере толком ничего не сделаешь, ибо нормальный гуй будешь всё равно руками писать, а один элемент, сделанных в дизайнере, можно и в код добавить, чем всю форму тащить, посему использую дизайнер только для всяких диалоговых окон вида "поле ввода и 2 кнопки"

PayableOnDeath
()

ну вы бы хоть код предоставили..
а по поводу Layout - тут всё просто, для того чтобы разместить лайаут на главной форме необходимо его разместить на другом виджете, а потом этот виджет сделать для формы центральным, вот и всё

дизайнер форм кстати это делает автоматически


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