Уведомления

Группа в Telegram: @pythonsu

#1 Июль 24, 2009 07:08:01

D_Darth
От:
Зарегистрирован: 2009-07-24
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

pygtk, динамичесое создание и удаление кнопок. Работа с классами.

Здравствуйте. Решил попробовать написать апплет для gnome(но пока просто оконное приложение) - чтото на подобе панели задач(DockbarX). Но никак не разберусь как работать с классами в python-е.

Задача такая - имеется список состоящий из программ видимых в “панели задач”. Необходимо, чтобы программа рисовала(отображала) кнопки с именем приложения на форме(или как она там называется) при открытии новой программы, и удаляла кнопку(и) при закрытии программы.

Для создания GUI использую pygtk

Сейчас моя программа показывает открытые, открывающиеся, и закрывающиеся программы.

Есть функция window_opened которая:
+ Выводит в консоль название отрытой(ых) программы
+ Добавляет имя программы в список запущенных программ

Есть функция window_closed которая:
+ Выводит в консоль название только что закрытой программы
+ Удаляет программу из списка запущенных программ

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

И наоборот, при закрытии программы эту кнопку надо удалить.

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



Офлайн

#2 Июль 31, 2009 12:23:28

D_Darth
От:
Зарегистрирован: 2009-07-24
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

pygtk, динамичесое создание и удаление кнопок. Работа с классами.

Всем спасибо. Разобрался сам.
Для тех кому интересно. Кнопки я поместил в список list. А потом просто работал со списком. тоесть создаю кнопку, затем помещаю ее в конец списка с помощью list.append, затем, если мне необходимо изменить какието атрибуты(например лабет, то я просто обращаюсь к элементу списка. Если необходимо удалить кнопку, то я ее вначале скрываю, затем list.pop.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version