Перейти до основного вмісту

Публікації

Як приховати wxMediaCtrl

Задача Вчора переді мною постала цікава задача. Потрібно було приховати wxMediaCtrl , який займається програванням відео на формі. Взагалі, оскільки в wxPython все, що малюється, є вікном ( window ), переглянув методи wxWindow . В лоб Ну, логічно, що для приховання знадобиться метод Hide() , але тут-то і виявились граблі. Hide() дійсно ховає контрол, для чого він і призначений, але, з іншого боку, ламає позиціювання у всіх сайзерах, через що в мене всі інші контроли попливли. Звісно, якщо сайзери відсутні, і все позиціювання виконується в абсолютних координатах - ніяких проблем, Hide() підійде, але в моєму випадку - ні. Неочікуване рішення Переробляти все не хотілось, хоча і форма в мене, в принципі не ресайзиться, тому методом научного тика виявив, що проблему можна вирішити використанням методу Freeze() . Відповідно, обернений результат досягається методом Thaw() . Чому рішення неочікуване? Тому що я ніяк не очікував, що після виклику Freeze() контрол с...
Останні дописи

wxPython: Gif-анімація і прозорість

Коротко про анімацію в wxPython Дядечко робить анімацію на wxPython В wxPython засоби для роботи з анімацією - це пакет wx.animate . Пакет досить нехитрий - всього декілька класів, з яких частіше за все в роботі використовуються 2: wx.animate.Animation - інкапсулює параметри анімації, а також підтримує завантаження анімації з файлу. Підтримує Gif і Ani   формати анімацій. wx.animate.GifAnimationCtrl - Контрол для рендера і Gif-анімації в графічному інтерфейсі додатку. Останній - дуже класний засіб, оскільки дозволяє фактично в декілька рядків додати в вікно готовуу анімацію: ag_fname = r"progress.gif" ag = wx.animate.GIFAnimationCtrl(self, -1, ag_fname, pos=(0, 0), size=(64,64)) ag.GetPlayer().UseBackgroundColour(True) ag.Play() Досить непогано. І навіть більше ... прозорість. Прозрачность Третій рядок наведеного коду натякає нам, що анімація буде використовувати замість кольору, який в ній встановлений прозорим - фоновий колір вікна. Кажуть, що на GTK воно так і...

Wirbel - проект закрито

Мій останній пост про мову Wirbel трошки привернув увагу зацікавлених пітоністів, але тут я вимушений всіх розчарувати (заголовок цього коротенького поста натякає на це).  З моменту останньої публікації пройшло вже більше двох тижнів, а всі мої спроби достукатись до автора з приводу Wirbel так і не увінчались успіхом. Останні активні зміни в сорцах датовані 2008 роком, так що, судячи з усього, автор, як то кажуть, "забив" на своє дітище, і зайнявся чимось більш корисним з його точки зору. Все, що може бути цікавим про мову можна глянути в попередньому коротенькому огляді. Спробував написати на Wirbel програмку, яка вирішує квадратне рівняння і в мене вийшло, але тільки тоді, коли я самостійно реалізував алгоритм отримання квадратного кореня числа =) Варто зазначити, що код компілятора, який, як вже згадувалось, написаний на C++, читати досить легко. Автор пише ідеально структурирований і чистий код (навіть враховуючи глибоку відсутність у мене практичних навиків написання ...

Wirbel - компільований Python. Трошки про мову і встановлення.

Трошки про мову Ну, не зовсім Python, точніше зовсім не Python, але синтаксично ідентичний, за виключенням деяких обмежень, які накладає собою компильованість в бінарник, а також деяких нових можливостей. Автором мови і компілятора є німецький розробник по імені Матіас Кеттнер.  Ось короткий список характеристик, а заодно і відмінностей від Python 2.х: print - функція. Тому print("Hello, world!") Бінарный код, що не потребує рантайма і сумісний з C++ Списки типізовані, так що [1, 2, 3, "string"] створити не вийде Є сігнатури функцій, а тому def x(a), і def x(a, b) - дві різні функції Кортежі змінні і можуть включати різні типи даних, навідміну від списків: (1, true, "Hi") Рядок і символ - різні типи даних. Символ - один байт true, false - зарезервовані слова (в нижьому регістрі) import відсутній, автор запевняє, що компілятор все сам знайде. Wirbel дозволяє писати бібліотеки і підключати їх з C/C++ Ну і, звісно, швидкість, як же без цього Ну, ц...

"Clippy reborn" на Хакатоні від developers.org.ua

Clippy reborn on Hackaton Багатьом відомо, що на минулих вихідних в Києві, в офісі компанії Ciklum відбувся абсолютно прекрасний захід під назвою DOU Hackathon, ініціатором і організатором яклшл є Макс Іщенко, він же головний на developers.org.ua . Суть заходу була в абсолютному і чистому 24-годинному кодінгу на вільну тему на будь-якій доступній технології і мові. Тривало все цілу ніч і принесло багато задоволення і приємної втоми. Команда, членом якої я був, виступила в наступному складі: Дзінько Ростислав (я) - Python - розробник Котлярський Олександр (alex.k) - Ruby / Mac / Mobile - розробник Дмитро Домашевський - Python - розробник Але, як не дивно, нічого з того, в чому ми маємо багато досвіду ми не використовували, навпаки - ціллю було створити щось прикольне з допомогою чогось, в чому ми ні бум-бум, при цьому отримавши не тільки задоволення, але і нові знання і досвід. Таким чином народилась ідея нашого проекту Clippy, який, по суті, є просто прикольним розширенням для Goo...

Тепер Google App Engine SDK доступний на мові Google Go

В даному пості не виявлю особливої творчості, просто публікую тут переклад посту з блогу Go Project. Цей пост вважаю дуже важливим, оскільки це перше серйозне застосування цієї мови; і хоча мова позиціонується як засіб системного прогрумвання, в даному випадку отримуємо мову для веб розробки на хмарній платформі Google App Engine. Оригінал :  Пост на блозі Go Project Google App Engine надає надійні, масштабовані і прості засоби для створення веб додатків. Більше сотні тисяч додатків хостяться на appspot.com і користувацьких доменах, і при цьому використовують інфраструктуру App Engine. Спочатку система була зроблена для створення додатків на Python, а в 2009-му році додалась ще й підтримка мови Java. Сьогодні, на Google I/O, ми з захопленням оголошуємо вам, що наступним буде Go. Зараз ця можливість позначена як експериментальна в App Engine, оскільки технологія є новою; але при цьому команды App Engine і Go раді цьому досягненню. Під словами "технологія нова" ми маємо ...

Інструменти для розробки на Python для MS Visual Studio 2010

Напевно, багато хто вже чув про те, що в розробці перебуває такий прекрасний продукт. І ось сьогодні вийшла друга бета версія. Нагадаю дл тих, хто не в курсі, що цей плагін для Visual Studio підтримує не тільки  IronPython, але й CPython починаючи з версії 2.5. Більше того, частково підтримуються також PyPy і Jython, і виходить під ліцензією Apache 2.0 (студію, все-таки, доведеться придбати :) ). Для Python-розробників, які працюють з ОС Microsoft Windows це буде хорошим подарунком. Єдиний мінус в тому, що тестувались інструменти тільки  на Windows 7 і Windows Server 2008, так що користувачам XP і Vista, мабуть, доведеться познайомитись з підводними каменями у вигляді багів. Ось як це виглядає: Кроме всего вышесказанного набор инструментов поддерживает следующие вещи: Редактор, Intellisense, REPL, … Підтримка CPython і IronPython Локальне і віддалене відлагодження Профілювання Інтерактивні паралельні обчислення, що супроводжуються інтегрованим IPython REPL Пі...