GI ET11000 4K, GI ET7000 Mini, Xtrend ET9000,9200 HD Twin, Xtrend ET5000,6000 HD > Уголок программиста

Вопросы и ответы по программированию Python

(1/3) > >>

nikolasi:

--- Цитата: ака Учкун от 08 Март 2013, 08:21:25 ---Вот с этим пока у меня не получается.
В стандартном размере вывести без проблем, а вот через resize никак не хочет работать гад....

--- Конец цитаты ---
Зависит от того как вы пиконы вписываете.Судя по вашему коду то перерозмерить проще через picload вписав в него например брать размер пикона и делить его на 2(тоисть получите не 100 на 60 а 50 на 30) .Смотрел ваш код-очень все логично отличная работа.Тока одно смущает(не сочтите за критику или навязывание своей идеи).Вывод картинок для прогрессбаров.По вашему коду вы полностью отказались от пнг со скинов а ведь очень много скинов в листе имеют вписанные свои пнг для прогрессбаров...я бы сделал так


--- Код: ---                   elif attrib == 'picServiceEventProgressbar':
                        pic = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, value))
                        if pic:
                            self.picServiceEventProgressbar = pic   
--- Конец кода ---

и дописав


--- Код: ---        self.selectionPixmap = None
        self.picServiceEventProgressbar = None
--- Конец кода ---

тогда там где прогрессбары у вас можна сделать по типу вот так


--- Код: ---                        if self.picServiceEventProgressbar == None:   
                           
                               res.append((eListboxPythonMultiContent.TYPE_PROGRESS,
                                  .
                                  .ваш код
                            else:
                               pixmap = self.picServiceEventProgressbar 
                               res.append((eListboxPythonMultiContent.TYPE_PROGRESS_PIXMAP,
                                   .
                                   .ваш код

--- Конец кода ---
так будет если картинки нет в писанной в скине выводить прогрессбар если есть-то прогрессбар используя картинку со скина

nikolasi:
О переносе прогрессбаров или процентов по вашему же коду....Я покажу как можете сделать тока писанины будет куча у вас))) смотрите

напримере прогрессбаров
ваш код сейчас

--- Код: ---                                res.append((eListboxPythonMultiContent.TYPE_PROGRESS,
                                 xPos+3,
                                 11,
                                 52,
                                 8,
                                 percent,
                                 1,
                                 foreColor,
                                 foreColorSelected))
                                res.append((eListboxPythonMultiContent.TYPE_TEXT,
                                 xPos+58,
                                 0,
                                 57,
                                 height,
                                 0,
                                 RT_HALIGN_RIGHT | RT_VALIGN_CENTER,
                                 text,
                                 serviceDescriptionColor,
                                 foregroundColorSel,
                                 backgroundColor,
                                 backgroundColorSel))
                                xPos += 120
--- Конец кода ---
xPos+3- положение сейчас прогрессбара так? есть понятие width-  width = self.l.getItemSize().width()логично взять нужный вам размер прогрессбара и отнять его от width(это размер беретса со скина тоисть ширина для листа)получитса вот так


--- Код: ---                                res.append((eListboxPythonMultiContent.TYPE_PROGRESS,
                                width - 60,
                                 11,
                                 52,
                                 8,
                                 percent,
                                 1,
                                 foreColor,
                                 foreColorSelected))
                                res.append((eListboxPythonMultiContent.TYPE_TEXT,
--- Конец кода ---

тоисть мы отняли 52(размер прогрессбара в длину плюс 8 что бы не залазил за края) да и по логике xPos+58, уже не ставим что бы следующие элементы не брали отступ в своем начале.Это мы сделали но есть еще дескрипшен у вас поэтому в пункте для вывода описания отнимаем теперь наших 60 плюс длину прогрессбара и того -112 это вписуем в пункте вывода text = '(%s)' % event.getEventName()
тоисть будет так


--- Код: ---                                res.append((eListboxPythonMultiContent.TYPE_TEXT,
                                 xPos,
                                 0,
                                 width - xPos -112,
                                 height,
                                 2,
                                 RT_HALIGN_LEFT | RT_VALIGN_CENTER,
                                 text,
                                 serviceDescriptionColor,
                                 serviceDescriptionColorSelected,
                                 backgroundColor,
                                 backgroundColorSel))
--- Конец кода ---
по логике так....попробуйте...тока писать очень много)) учитывая что у вас вписано вывод картинок для прогрессбаров куча...
Добавлено: 08 Март 2013, 14:22:37как в Cooltvguide не знаю-я не ломаю код чужой.Просто если по логике то чет похожее...Все что сделал кто-то в питоне можна сделать как минимум по 3 разным вариантам чем питон мне и нравитса...

nikolasi:
Можна и MultiContent я ж пример привел на основе вашего кода который вы сейчас используете.Да и разницы впринцыпе почти никакой.Но лучше использовать модуль eListbox по моему мнению-слишком много инфы перелопачивает список...А   No EPG data available в списке-не пестрит так?Както думаю привычнее когда нет описание и пусто-быстрее вроде понимаеш что его нет))

nikolasi:
тота я смотрю что очень знакомое но не помню где видел))) а вообще у вашего проэкта огромная перспектива-не нужно патчить бинар и либы а функций и возможностей стока скока фантазии хватит))) что сказать-вы сделали огромное дело думаю все пользователи вам должны говорить тока спасибо.Тока все же лучше все делать через eListbox-все что идет через либы напрямую не тормозит функции если же задействован питон-тут буду тормоза которые побороть практически не реально.

nikolasi:
да и я не професиональный программист....может больше чуть вашего знаю так как за стока лет опыта поднабралса да и практике тоже....и получаетса у вас оченб хорошо.Если надо чего-спрашивайте-могу помогать вам в меру соих возможностей.а код не смотрю из-за принцыпа-у нас с индб пару лет назад очень многое потянули арабы были и пшеки тоже.Поэтому с тех пор принцып-тока свое тока своими мозгами плюс защищать свое от недобросовестных пользователей других команд
Добавлено: 09 Март 2013, 14:52:42вот тоже эксперементировал со своим списком....можна выводить нехт евент но.....даже не знаю....места много надо тогда но если увеличить размер между строками-намного меньше влезет строк...а вот добавить начало и конец текущей передачи скорее всего будет полезно....это так-размышления вам)).Все упираетса тока в вашу фантазию

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии