LINUX.ORG.RU

Gtk4 linux. Как изменить размер кнопки на форме?

 , , ,


0

2

Вот исходные коды (очень маленький файл): https://file.io/ec1UDsEqDo7M https://file.io/drqkRD5oKlzo это c++ на linux gtk4 Вот скриншот программы - формы на gtk4 linux: https://ibb.co/sJPHvLm

Вот, вопрос, как изменить размер (width, height) кнопок на форме?



Последнее исправление: wersto8top (всего исправлений: 2)

Вот так изменяется размер самой всей формы приложения: gtk_window_set_default_size (GTK_WINDOW (win), 600, 200); а мне нужно изменить размеры (height, width) кнопок на форме..

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

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

P.S. файл по первой ссылке недоступен.

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

Перезалил на другое файлохранилище. https://usaupload.com/5Bne/software.zip там реально небольшой код..

По факту, я знаю базовые основы программирования..Мне, по идее, нужно осмыслить только построение форм на gtk4 из c++ linux и можно начатьь делать разные программки для xubuntu, ubuntu, kubuntu.

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

У ТСа пока только разрешение сидеть за компьютером и в интернет, разрешения на гуглить пока ещё нет.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от man-from-36

Вот, не понимаю, как разместить текст справа от кнопок. Технически, от элемент формы нужно разместить справа от другого элемента формы. https://ibb.co/VxJpfqJ это то, что мне нужно? https://runebook.dev/ru/docs/gtk/treewidgetobjects#id-1.4.17.2.8 чтобы расположить элементы формы в нужных местах формы? типа, делим форму на ячейки, а в ячейках распологаем нужные мне элементы формы (кнопки, листинги, текстовые поля и т.д.)? Я понимаю в веб-разработке (html+css), просто прописал название тега к нужной кнопке или другому элементу html-страницы, в css-стилях…И просто добавил к этим css-стилям свойства: width: 20px; и height: 20px; и все…Так, просто. Странно, что в gtk4 на linux такого нет. Ведь, тогда можно было бы просто и легко создавать gui-приложения и gui-программы для gtk4 на многие дистрибутивы linux.

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

А чего ты не понимаешь, когда у тебя в коде GtkBox и там явно указана вертикальная ориентация и ты прицепил к нему все свои контролы:

  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
  gtk_box_set_homogeneous (GTK_BOX (box), TRUE);
  gtk_window_set_child (GTK_WINDOW (win), box);

...

  gtk_box_append (GTK_BOX (box), btn1);
  gtk_box_append (GTK_BOX (box), btn2);
  gtk_box_append (GTK_BOX (box), lab);

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

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

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

Странно, про gtk4 вот что написано здесь: https://docs.gtk.org/gtk4/migrating-3to4.html#reduce-the-use-of-generic-container-apis .. : «GTK 4 removes gtk_container_add() and gtk_container_remove(). While there is not always a replacement for gtk_container_remove() in GTK 3, you can replace many uses of gtk_container_add() with equivalent container-specific APIs such as gtk_box_pack_start() or gtk_grid_attach(), and thereby reduce the amount of work you have to do at the time of the switch…..» Непонятно какую использовать функцию для добавления grid’a в форму?

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

Непонятно какую использовать функцию для добавления grid’a в форму?

В Getting Started есть это под комментарием:

Pack the container in the window

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

У меня ничего нет..значит, кто-то в рф, стал нарушат гос.управление людьми в интернете….мне выдача Google в 2009-2011 годах нормально искала по исходным кодам на github, а сейчас, смотрю выдачу google, вообще почти ничего не ищет по исходным кодам на github.

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

Создаю кнопку так: btn1 = gtk_button_new_with_label («Hello.»); gtk_widget_set_size_request(btn1, 20, 60); создается, все хорошо…но почему функция gtk_widget_get_width(btn1) выдает в результат 0?

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

Непонятно какую использовать функцию

Используйте для начала разметку оформления кода в комментариях, неопрятные портянки читать тяжело. Ссылки на описания прямо под формой ввода комментария же, после слова «Внимание».

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

Создаю textArea на gtk4 форме.. GtkWidget *textview = gtk_text_view_new (); придаю ему размер gtk_widget_set_size_request(textview,100,100); добавляю его на форму в grid gtk_grid_attach (GTK_GRID (grid), textview,400, 3, 50, 50); все работает.. https://ibb.co/7QS1GKW но как добавить, удалить, модфицировать текст в этой textarea на gtk4? читаю про какой то буфер не понимаю…

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

Вроде видел новость, что сделали новый дизайнер для GTK4, но сходу нагуглить не смог

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

По факту, я знаю базовые основы программирования.

Твои детские вопросы этому прямое подтверждение.

c++ linux

Начни с питоньчика. Зимних каникул на C++ не хватит.

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