Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 28, 2017 02:01:05

Phantom
Зарегистрирован: 2017-12-27
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

gdk3 Пропадают элементы

Здравствуйте.
Программирую на питон 3.5 форму создаю на glade - gdk3 проблема в следующем,
если создать дополнительные окна, первый раз они открываются нормально
со всеми элементами, но если нажать на заголовке кнопку закрыть
следующий раз форма вызывается пустой.
Можно конечно создать свои формы и выставить не показывать кнопку закрыть
на заголовке и добавить свою кнопку hide(), но я думаю это не красивый выход
тем более уверен что проблема решается достаточно просто.
Также прикрепляю файл с проектом набросанным на скорую руку.
Спасибо за внимание С уважением Максим.

Прикреплённый файлы:
attachment test.zip (5,5 KБ)

Офлайн

#2 Дек. 28, 2017 07:19:14

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  842  -
Профиль   Отправить e-mail  

gdk3 Пропадают элементы

Да это похоже на хрень какую-то. Возьми PyQt, там нет таких проблем.



Офлайн

#3 Дек. 28, 2017 08:46:30

Phantom
Зарегистрирован: 2017-12-27
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

gdk3 Пропадают элементы

py.user.next
Да это похоже на хрень какую-то. Возьми PyQt, там нет таких проблем.
Согласен что нет, но он так же далеко не на всех линуксах стоит , недавно столкнулся с тем что даже в минт Qt интерфейс не запустился То есть если я кому то дам эту программу ему так же надо сказать не забудь установить Qt. А вот с gdk таких проблем нет, так как на нём написано много интерфейсов.

Офлайн

#4 Дек. 28, 2017 10:18:46

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  842  -
Профиль   Отправить e-mail  

gdk3 Пропадают элементы

https://ru.wikipedia.org/wiki/PyGTK

GTK+ реализован на языке C и имеет собственную (не интегрированную в полной мере с Python) систему учёта ссылок между GObject-объектами для удаления более не используемых GTK-объектов (то есть для обработки этих объектов системой сборки мусора GObject).
Как следствие этого — не исключены случаи, когда ссылки на Python-объекты (например, ссылки на функции обратного вызова), сохранённые внутри GTK-объектов (то есть GObject-объектах), превращаются в слабые ссылки и могут быть удалены системой сборки мусора Python.
Следствием непредусмотренного программистом превращения ссылок в слабые ссылки могут стать ошибки при выполнении программы, когда, например, вызванная Callback-функция станет оперировать с неинициализированными данными (то есть с данными, очищенными сборщиком мусора Python).
В этом, похоже, проблема. Там что-то само может уничтожаться, поэтому и выглядит, как ошибка неизвестной природы.



Офлайн

#5 Дек. 28, 2017 10:24:54

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

gdk3 Пропадают элементы

> но он так же далеко не на всех линуксах стоит

Он есть во всех репах. По этому не вижу в этом большой проблемы.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#6 Дек. 28, 2017 10:45:24

Phantom
Зарегистрирован: 2017-12-27
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

gdk3 Пропадают элементы

Rodegast
> но он так же далеко не на всех линуксах стоит Он есть во всех репах. По этому не вижу в этом большой проблемы.
Проблема в том что пользователи не хотят ничего ставить или прописывать им надо из коробки. Говорят скачай программу скачай Qt …. А есть и такие уж поверте мне которые вообще терминала избегают. Не все же такие как мы, правда?

Офлайн

#7 Дек. 28, 2017 10:49:18

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  842  -
Профиль   Отправить e-mail  

gdk3 Пропадают элементы

Rodegast
По этому не вижу в этом большой проблемы.
Там лицензирование может различаться. Qt хорош, пока не продаёшь прогу.

Phantom
А есть и такие уж поверте мне которые вообще терминала избегают.
Ну и не пиши для них ничего.



Отредактировано py.user.next (Дек. 28, 2017 10:50:45)

Офлайн

#8 Дек. 28, 2017 10:55:32

Phantom
Зарегистрирован: 2017-12-27
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

gdk3 Пропадают элементы

py.user.next
https://ru.wikipedia.org/wiki/PyGTK
Да вообще я многого в GTK не понимаю, сделано очень через ……… По мне так должно быть объект = сигнал а там накручено по китайски всё с тем же например TreeView..
Теперь по вопросу, Я думал что кто то знает хитрый метод закрытия окна просто скрыв его. Ведь есть метод который при закрытии формы удаляет её из процессов
[code python]self.Winmy.connect("delete-event", Gtk.main_quit)[/code]

Офлайн

#9 Дек. 28, 2017 10:57:29

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

gdk3 Пропадают элементы

> Там лицензирование может различаться. Qt хорош, пока не продаёшь прогу.

Вот по этому я используюь PySide



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#10 Дек. 28, 2017 11:03:33

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

gdk3 Пропадают элементы

Phantom
По мне так должно быть объект = сигнал
GTK - это Си библиотека, нет там никаких объектов.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version