Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: установить ширину виджета в GTK  (Прочитано 1254 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн S9

  • Автор темы
  • Участник
  • *
  • Сообщений: 163
  • Волшебник
    • Просмотр профиля
установить ширину виджета в GTK
« : 20 Октябрь 2014, 11:47:13 »
Всем добра! Пишу тут одну прогу с использованием GTK+.
И не знаю как уменьшить ширину Entry в таблице (точнее в Grid)
хочу получить такой интерфейс

но пока-что получается только такой

пишу на Vala (но т.к. использую GTK+ 3.0, а он везде одинаков), виджеты помещаю в Grid
(Нажмите, чтобы показать/скрыть)

как мне приблизить интерфейс к первому скрину?
« Последнее редактирование: 20 Октябрь 2014, 13:35:03 от S9 »
Burning on the flame
Played the waiting game

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4073
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: установить ширину виджета в GTK
« Ответ #1 : 20 Октябрь 2014, 12:21:19 »
S9, вам сюда. Использую тег[code=vala]
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн S9

  • Автор темы
  • Участник
  • *
  • Сообщений: 163
  • Волшебник
    • Просмотр профиля
Re: установить ширину виджета в GTK
« Ответ #2 : 20 Октябрь 2014, 13:41:00 »
alsoijw, спасибо за тег и ссылку:)
если я вас правильно понял, то мне надо сделать примерно так
Код: (vala) [Выделить]
***
Gtk.Grid grid = new Gtk.Grid();
grid.set_size_request(20, 6);
 ***
т.е. устанавливаю минимальный размер виджета (20х6)
но у меня что-то он не действует..
Burning on the flame
Played the waiting game

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4073
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: установить ширину виджета в GTK
« Ответ #3 : 20 Октябрь 2014, 18:02:30 »
S9, вот так?

(Нажмите, чтобы показать/скрыть)
У тебя потому и не работало, тк ты минимальную, а не максимальную указывал.
« Последнее редактирование: 20 Октябрь 2014, 18:04:35 от alsoijw »
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн S9

  • Автор темы
  • Участник
  • *
  • Сообщений: 163
  • Волшебник
    • Просмотр профиля
Re: установить ширину виджета в GTK
« Ответ #4 : 20 Октябрь 2014, 22:16:22 »
alsoijw спасибо, завтра на работе проверю:) просто у меня дома стоит Kubuntu c Plasma 5, и в качестве зависимостей к GTK+ предлагает она скачать более 1 Гб пакетов, что-то не охота качать гигобайт с интернетов и ставить в бета версию системы:) тем более качать через 3G модем:)
а на работе eOS Luna, там всё это сделать будет попроще, тем более всё там настроено:)
Как попробую, отпишусь:)

Пользователь решил продолжить мысль [time]20 Октябрь 2014, 22:19:30[/time]:
если я правильно понял, то мне надо будет во всех тектовых полях которые мне не нравятся поставить минимальную ширину
Код: (vala) [Выделить]
button.height_request = 200;если не подводит логика, это делается так?
Код: (vala) [Выделить]
button.width_request = 200;а саму таблицу, точнее grid я более не мучаю?

Пользователь решил продолжить мысль 20 Октябрь 2014, 22:22:47:
хотя тупанул, GTK не такой огромный:) мне же чтобы протестить хватит и gtk+-3.0-dev, а он вроде бы всего 30 Мб:)
сейчас попробую протестить:)
« Последнее редактирование: 20 Октябрь 2014, 22:22:47 от S9 »
Burning on the flame
Played the waiting game

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4073
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: установить ширину виджета в GTK
« Ответ #5 : 20 Октябрь 2014, 22:43:10 »
S9, пару пожеланий по поводу кода: либо убери using Gtk; либо не пиши перед виджетами Gtk, есть var, позволяет не указывать тип переменной если компилятор может о нем догадаться. grid наверное придется оставить, но не подскажу у кого надо менять свойства.
Код: (vala) [Выделить]
var a = 0; var w = Button.with_label ("Click me (0)");
(Нажмите, чтобы показать/скрыть)
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн S9

  • Автор темы
  • Участник
  • *
  • Сообщений: 163
  • Волшебник
    • Просмотр профиля
Re: установить ширину виджета в GTK
« Ответ #6 : 20 Октябрь 2014, 23:03:56 »
тогда сейчас методом научного тыка попробую что-нибудь получить:)
S9, пару пожеланий по поводу кода: либо убери using Gtk; либо не пиши перед виджетами Gtk, есть var, позволяет не указывать тип переменной если компилятор может о нем догадаться. grid наверное придется оставить, но не подскажу у кого надо менять свойства.
да это я знаю, просто чтобы разобраться с этим grid-ом, сделал небольшой тестовый проект, там юзал без строки using Gtk, но потом код оттуда скопипастил в файл с программой, и решил всё к одному стилю свести:) но спасибо за замечание:)

(Нажмите, чтобы показать/скрыть)
Burning on the flame
Played the waiting game

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4073
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: установить ширину виджета в GTK
« Ответ #7 : 21 Октябрь 2014, 18:14:37 »
S9, выбирай отсюда. Туда сразу кнопочки и поля для ввода. В предыдущем варианте вряд ли что-то сделаешь быстро.
(Нажмите, чтобы показать/скрыть)
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн cav

  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
    • Истории одного программера
Re: установить ширину виджета в GTK
« Ответ #8 : 22 Октябрь 2014, 09:45:49 »
Грид нужно заменить на панели.
грид дает одинаковую ширину у элементов
(Ubuntu 12.04, Ubuntu 10.04)
http://cavinc.blogspot.com/

Оффлайн RingOV

  • Активист
  • *
  • Сообщений: 762
    • Просмотр профиля
Re: установить ширину виджета в GTK
« Ответ #9 : 22 Октябрь 2014, 17:53:07 »

ИМХО, проще использовать Glade. Много времени не потребовалось чтобы расставить виджеты.
Осталось только переименовать виджеты как надо и разобраться как в vala работать с glade.
http://valadoc.org/#!api=gtk+-3.0/Gtk.Builder

Glade устанавливать так ( --no-install-recommends чтобы не тянул на Kde кучу ненужного)
sudo apt-get install glade --no-install-recommends

Оффлайн S9

  • Автор темы
  • Участник
  • *
  • Сообщений: 163
  • Волшебник
    • Просмотр профиля
Re: установить ширину виджета в GTK
« Ответ #10 : 14 Ноябрь 2014, 22:57:20 »
RingOV, если не секрет, то поделитесь сием ценным знанием, как унифицировать интерфейс GTK+ приложений с KDE?
Просто на работе elementary OS (рабочий стол там на GTK+) а дома стоит KDE Plasma 5. Просто вижу у вас на скриншоте, что Glade (а она, как мне известно на GTK) выглядит довольно симпатично:)
Burning on the flame
Played the waiting game

Оффлайн RingOV

  • Активист
  • *
  • Сообщений: 762
    • Просмотр профиля
Re: установить ширину виджета в GTK
« Ответ #11 : 15 Ноябрь 2014, 15:34:12 »
S9,
А секрета нет :)
На Kubuntu 14.04 из коробки Gtk3 приложения имеют такой вид. Да, Glade на Gtk и это не мешает его использовать на Kde. Зависимостей он много не тянет.
Единственный совет - сразу в проекте в Glade выбрать версию Gtk 3.0

 

Страница сгенерирована за 0.09 секунд. Запросов: 24.