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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Glade 3.18.3 c Gtk+3.14  (Прочитано 2261 раз)

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

Оффлайн Sprouttie

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Glade 3.18.3 c Gtk+3.14
« : 06 Декабря 2014, 15:54:36 »
У меня Ubuntu 14.04 LTS, Python 2.7, Python 3.4 и Glade 3.18.3 c Gtk+3.14. Не могу решить элементарной проблемы: нужно, чтобы при нажатии кнопки текст выводился в поле ввода или область текста формы. Так же по нажатию другой кнопки в определённую область выводилось изображение. Перелопатил кучу ссылок, пытаюсь разобраться на примерах, экспериментирую со свойствами в Glade, результата нет. Буду признателен за подсказку в виде кода в питоне или ссылок на актуальную инфу.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #1 : 06 Декабря 2014, 16:42:48 »
Sprouttie, кто код помещает на сриншоты? :idiot2:
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Sprouttie

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #2 : 06 Декабря 2014, 17:36:48 »
Бестолковый Sprouttie код помещает на скриншот!
Он никак не разберёт как сюда пристроить код!
Не простым же копипастом! Было б очень даже классно!
В каждом деле новичок выглядит как дурачок!
А вы ему задайте вектор, направление или сектор!
Дайте кода от Питона, чтобы разорвать препоны!
Тут и сказочке конец, а кто поможет - молодец!!!

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #3 : 06 Декабря 2014, 17:39:49 »
Sprouttie, обижаться не надо. Нажми цитировать и увидишь что писать. Если код длинный то напиши так
(Нажмите, чтобы показать/скрыть)
Код: (python) [Выделить]
#Сюда писать код
#есть подсветка синтаксиса
print(a)
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Sprouttie

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #4 : 07 Декабря 2014, 14:37:22 »
Программа на питоне короткая, но работающая. К сожалению это единственный пример с Glade в данном руководстве по gtk+ http://python-gtk-3-tutorial.readthedocs.org/en/latest/builder.html
(Нажмите, чтобы показать/скрыть)
Вот со спойлером разобрался))) Далее XML-Код. В Glade я создал окно, в него поместил контейнер из двух секций. В верхнюю виджет"поле ввода". В нижнюю-кнопку. Кнопке в сигналах задал обработчик. Указываю в сигналах в поле "Данные" Entry1, но при нажатии кнопки приветствие выводится на сторону, а не в виджет Entry1. Я запускаю через IDLE. Текст выводится на дополнительную страничку куда выводятся ошибки и все результаты действий. Если через консоль, то в консоли мир приветствуется. Как загнать в виджет?  :'(
(Нажмите, чтобы показать/скрыть)

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #5 : 07 Декабря 2014, 15:03:57 »
Код: (python) [Выделить]
box = builder.get_object("window1.box1")
box.text="text"
Ты забыл вставить[ c o d e ]
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Sprouttie

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #6 : 08 Декабря 2014, 16:12:23 »
Я не забыл, я просто не знаю где искать эти сложносочинённые коды. Везде инструкции по Glade3-gtk2. И сохранение у них идёт в формате libglade и примеры кода чаще всего на Си. Вот код который ты дал, как везде пишут "логически понятен", но не нравится интерпретатору Питона ни второму, ни третьему. Выдаёт такую претензию:
Traceback (most recent call last):
  File "/home/sprut/py3gtk3_20.py", line 16, in <module>
    box.text= "Sprouttie! Ты глуповат!"
AttributeError: 'NoneType' object has no attribute 'text'
(Нажмите, чтобы показать/скрыть)
Может банит box.text= "Sprouttie! Ты глуповат!" из соображений этики?  :D

Оффлайн RingOV

  • Активист
  • *
  • Сообщений: 764
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #7 : 08 Декабря 2014, 17:40:43 »
Не выполнял, но должно работать.
(Нажмите, чтобы показать/скрыть)

Оффлайн Sprouttie

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #8 : 10 Декабря 2014, 22:49:54 »
С изменённым кодом программа ошибку не выдаёт, но и не выводит текст никуда. На погодный виджет я уже тоже натыкался, но он создан с помощью Gtk-3, но без использования Glade. Там комбинация с Cairo. Нашёл ещё примерчик на Gtk без Glade. Выполняет именно то, что я хочу получить. Буду пытаться провернуть это как я задумал: через Glade.
(Нажмите, чтобы показать/скрыть)

Чем быстрее меня научат, тем быстрее я смогу начать делиться знаниями сам  :coolsmiley:
« Последнее редактирование: 10 Декабря 2014, 22:52:28 от Sprouttie »

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #9 : 10 Декабря 2014, 22:53:09 »
Код: (python) [Выделить]
window = builder . get_object ( "window1" )
dir(window)
Запуск из консоли, вывод сюда.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн RingOV

  • Активист
  • *
  • Сообщений: 764
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #10 : 10 Декабря 2014, 23:47:50 »
На погодный виджет я уже тоже натыкался, но он создан с помощью Gtk-3, но без использования Glade. Там комбинация с Cairo.
Каталог dialogs, там почти все на Glade
https://github.com/RingOV/gis-weather/tree/master/dialogs

Оффлайн Sprouttie

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #11 : 15 Декабря 2014, 17:16:28 »
Цитировать
Каталог dialogs, там почти все на Glade
https://github.com/RingOV/gis-weather/tree/master/dialogs

Но я не нашёл ни одного файла с расширением .glade и нигде в .py-файлах нет ссылок на файлы с таким расширением...

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #12 : 15 Декабря 2014, 17:24:33 »
Sprouttie,
Код: (python) [Выделить]
window = builder . get_object ( "window1" )
dir(window)
Запуск из консоли, вывод сюда.
Пробовал?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Sprouttie

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #13 : 15 Декабря 2014, 23:36:53 »
Да, пробовал. Не выводит в форму, выводит в Shell IDLE. Или в консоль. dir (window) в данном варианте кода на конечный результат не влияет.

Вот код:
(Нажмите, чтобы показать/скрыть)

и я всё-равно не представляю механизм согласования: должно же что-то указывать на конкретное место для вывода текста или изображения  :D

Есть программа, но опять же на gtk без создания формы в Glade , которая при нажатии меняет имя кнопки.
Я попробовал такой вариант: В Glade создал окно, положил вертикальный бокс из 2-х секций, в верхнюю cекцию - кнопку, в нижнюю секцию - область событий eventbox и после label. Задал обработчики сигналов для button и eventbox. eventbox дал возможность использовать метку как кнопку. Самое интересное, что при задании функции def для label потребовало третий аргумент, хотя в аналогичной def для batton хватает и двух. Тут у меня появилась надежда. Задавал третьим аргументом и window, и box, и eventdox, и label, а оказалось ему(интерпретатору) тут нужно только количество и назови их хоть горшками. У меня в примере они такие : (всё, это, пустяки). Кириллицу, конечно, не берёт)))
1)Нажимаем кнопку 2) Нажимаем на метку 3) Получаем:
>>>
Hello World!
Сколько можно?

Далее я приведу код hml и код Python. Можно скопировать hml и сохранить его как     builder_example.glade   и,
запустив питона посмотреть как мелко я плаваю  :2funny:
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 16 Декабря 2014, 01:40:17 от Sprouttie »

Оффлайн RingOV

  • Активист
  • *
  • Сообщений: 764
    • Просмотр профиля
Re: Glade 3.18.3 c Gtk+3.14
« Ответ #14 : 16 Декабря 2014, 13:02:43 »
Но я не нашёл ни одного файла с расширением .glade и нигде в .py-файлах нет ссылок на файлы с таким расширением...
Потому что там все Glade формы с расширением .ui.

Совет: при создании Glade форм выбирать версию как можно ниже. 3.12 версия на Ubuntu 14.04 не заработала. А вот 3.0 заработает везде.
А чтобы элементарные проблемы решались, нужно разобраться с матчастью: Gtk и PyGi

Рабочий пример:
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)

 

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