LINUX.ORG.RU

GtkFixed и GtkWidget на нём

 


0

1

1. Как при использовании GtkFixed контейнера, вызовами самого GTK, устанавливать и возвращать размер размещённых на нём виджетов?

2. Можно если виджет размещён на GtkFixed изменять его позиционирование через сам виджет?

1. Опишите конкретнее задачу. Вы хотите перебрать добавленные в контейнер виджеты и узнать/установить их размер, или просто узнать/установить размер конкретных виджетов?

2. А какой в этом смысл, если можно просто получить родителя вызовом gtk_widget_get_parent и на нём уже делать gtk_fixed_move?

bodqhrohro_promo
()

Вот действительно, ты каждый раз в тупик ставишь своими вопросами. Хрен поймешь, что ты имел в виду под фразой «вызовами самого GTK»...

ПС
Если возникла необходимость в GtkFixed, значит дизайн интерфейса неудачный.

nvl ★★★
()

1. Опишите конкретнее задачу. Вы хотите перебрать добавленные в контейнер виджеты и узнать/установить их размер, или просто узнать/установить размер конкретных виджетов?

Если возникла необходимость в GtkFixed, значит дизайн интерфейса неудачный.

Пардон за безграмотные постановку вопроса, я ещё тот быдлокодер и терминология соответствует.

В общем я упражняюсь создаю своего рода библиотеку обёртки над ГТК, при этом не ставлю целью в полной мере поддерживать концепцию ГТК, напротив максимально от неё абстрагироваться и только использовать виджеты.

Честно говоря я не совсем проникся многообразием контейнеров ГТК, наверное это связанно с тем что я привык формошлёпить в Lazarus где есть динамически настраиваемые привязки (когда для каждого контрола, точнее для каждой его стороны ты можеш назначить другой контрол (это может быть сам контенер или сосед по контейнеру) к которому привязываться, метод выравнивания и отступ. Этот исчерпывающий инструмент позволяет создавать «резиновые» интерфейсы любой сложности без нагромаждения дерева контейнеров). Поэтому был выбран GtkFixed как основа, а система привязок пилится на стороне библиотеки обёртки.

Мне нужно иметь возможность считывать размеры каждого виджета и устанавливать их для каждого виджета. Я ещё так понял, что некоторые виджеты могут не принять размер (например из за слишком длинной надписи у кнопки и т. д.)... хотелось бы и с этим уметь работать, реализовать параметр авторесайза для контролов (когда они занимают минимально достаточную площадь).

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

Хрен поймешь, что ты имел в виду под фразой «вызовами самого GTK»

Пардон, судя по тем ответам что мне уже давали, в разных языках программирования есть какие то библиотеки для работы с ГТК и эти фрагменты кода вызывают сомнения при приведении к методам описаным в официальной документации ГТК https://developer.gnome.org/gtk3/stable/index.html

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

Я разобрался что методы:

gtk_widget_get_allocated_width(lp_GTK_Widget) gtk_widget_get_allocated_height(lp_GTK_Widget)

мне не возвращали размер из за преждевременного вызова.

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

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

gtk_widget_set_size_request () и выставить expand в false.

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

// offtop

Вы сомневались что «спорт» поможет, дак вот он помог даже больше: прошли боли в спине, никакой сонливости днём (даже с учётом чтения документации), общительность и «общий тонус». При этом не прошло и месяца, таки дела.

P.S. Я отсюда: https://www.linux.org.ru/forum/talks/14149960#comment-14150186 (комментарий)

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