Написання програм, заснованих на Qt, мовою Python
Добрий час доби. Нещодавно вирішив вивчити ще одну мову програмування. Вибір упав на python. Написав кілька маленьких скриптів. Але перш за все я хотів писати програми з графічним інтерфейсом. В інтернеті натрапив на цей невеликий туторіал, прочитання якого вилилося в пропонований до Вашої уваги переклад. Сподіваюся, що комусь він буде корисним.
Цей посібник має на меті отримання уявлення про те, як писати маленькі програми на python, що використовують бібліотеку Qt.
Для успішного виконання всіх завдань необхідно мати базові знання python, проте Qt знати не обов'язково. Я використовую linux у цих прикладах і я припускаю, що ви вже маєте працюючий Python та PyQt. Для того, щоб перевірити це, відкрийте оболонку python, просто набравши «python» в консолі введіть
Якщо повідомлення про помилку не з'явилося, ви вже готові розпочати. Приклади в цьому посібнику спрощені наскільки це можливо, і показують корисні способи писати та структурувати вашу програму. Важливо, щоб ви прочитали вихідний код прикладів, більшість речей пояснюються там. Використовуйте приклади та спробуйте змінити їх, пограйте з ними. Це найкращий спосіб звикнути.
Hello, world!
Почнемо із простого. Програма відкриває вікно і показує щось. Наведений далі код показує вікно, де написано «Hello, world!». Очевидно.
Близько 7 рядків коду, і це настільки просто як тільки можна. А ось так це виглядає:
Додамо трохи інтерактивності! Ми замінимо напис "Hello, World!" кнопкою та призначимо їй дію. Це назва називається «приєднанням сигналу», подія, яка надсилається слоту коли кнопка натиснута, який є функцією. Ця функція запускається, коли з'являється подія.
Цевже більше схоже на нормальний додаток
Ви можете уявити, що програмування таким чином не розширюється і не заходьте продовжувати. Що ж давайте зробимо це по-пітонівськи, додавши структуру і використавши об'єктно-орієнтований підхід. Ми створимо наш власний клас, успадкований від QApplication і помістимо необхідні нам речі в його методи: один метод для того, щоб створити віджети та слот, який зберігає код, що запускається при надходженні сигналу.
Кодування інтерфейсів – відстій

- Скомпілювати файл .ui з Qt designer'а в клас на python
- Написати підклас і використовувати його як mainWidget
зробить клас на python, з яким ми зможемо працювати.
Корисно знати
Створення інтерфейсу в Qt designer не тільки робить простіше створення GUI, але це також хороший інструмент для вивчення Qt. Ви можете протестувати, як виглядає вигляд, побачити що є в Qt і подивитися властивості, які ви можете захотіти використовувати.
Документація API для C++ також дуже корисна (читайте потрібна), коли працюєте з PyQt. API переведений дуже просто, так що попрактикувавшись, ви зрозумієте, що документація API для розробників, один із дійсно потрібних вам інструментів. Під час роботи в KDE можна ввести qt:[widgetname] у конкверорі. Т.о. qt:qbutton відкриє вам документацію прямо на описі qbutton. Сайт Trolltech містить набагато більше документації, яка може виявитися вам корисною.
Приклади в цьому посібнику створені звикористанням Qt 3.3. Я можливо оновлю керівництво коли з'явиться придатна до використання версія pyQt для Qt 4.
Хардкорна конфа за С++. Ми запрошуємо лише профі.