Розробка додатків за допомогою Python 3, Glade та GTK + 3 для Windows

Введення

У GNU / Linux розробка додатків з Python 3, Glade та GTK + 3 дуже проста, пакети поставляються за замовчуванням у більшості дистрибутивів.

Gracias Поляна ми можемо швидко і легко створювати користувальницькі інтерфейси, а потім використовувати їх спільно з Python. Для досягнення цього ви використовуєте PyGObject завдяки системі самоаналізу, запропонованій GNOME, що значно полегшує швидку розробку додатків (RAD); також можна використовувати наші інтерфейси, створені з Glade з інших мов програмування.

Проблема виникає, коли ми хочемо використовувати наші програми в Microsoft Windows, оскільки донедавна офіційних пакетів для цієї системи не існувало.

У цьому посібнику передбачається, що програми, створені в GNU / Linux за допомогою Python 3 та GTK + 3, працюють без проблем у Windows.

Вимоги

  • Python 3.3
  • Gtk + 3
  • Glade 3.14 або вище (дизайнер графічного інтерфейсу)
  • pygoobject

Встановлення на Windows

Почнеться зі створення папки з назвою програмне забезпечення або інший за вашим уподобанням, і ми збережемо в ньому всі завантажені пакети.

Завантажте інсталяційні пакети

Завантажте Python 3.3

Її можна завантажити з офіційної сторінки Python www.python.org

Завантажте програму встановлення Python

Завантажте програму встановлення Python

Клацнувши на посилання (Windows Installer) програма завантаження Python завантажиться.

Завантажити Поляна

Завантажити сайт: glade.gnome.org

І версії Python, і Glade є 32-розрядними, але працюють без проблем на 64-розрядних системах

Поляна Сторінка

Поляна Сторінка

Завантажте PyGObject

Завантажити сайт: https://wiki.gnome.org/PyGObject

Ми повинні завантажити версію для GTK + 3

PyGObject

PyGObject

PyGObject у коді Google

PyGObject у коді Google

Встановлення пакетів

До цього моменту ми вже маємо всі завантажені пакети в папці програмне забезпечення і оскільки ми завантажили кожен пакет, ми почнемо спочатку з встановлення Python.

Завантажені пакети

Завантажені пакети

Встановлення Python

Встановлення дуже просте, майстер проведе нас через процес; Ми залишаємо всі параметри, позначені за замовчуванням.

Програма встановлення Python

Програма встановлення Python

Як видно на зображенні, Python встановлений у папці C: \ Python33 \ За замовчуванням ми залишаємо його як є і продовжуємо встановлення.

Папка встановлення Python

Папка встановлення Python

На цьому етапі встановлення ми вибираємо варіант Додайте python.exe до Path, з метою того, що коли ми запускаємо інтерпретатор Python, він виконується без необхідності додавати його до системного шляху вручну.

Додайте Python до системного шляху

Додайте Python до системного шляху

Потім ми закінчуємо встановлення, і Python буде встановлено в нашій системі.

Встановлення поляни

Встановлення Glade не становить великих ускладнень, ми запускаємо програму встановлення та виконуємо дії майстра.

Встановіть галявину

Встановіть галявину

Встановлення PyGObject

Ми завантажили пакет pygi-aio-3.4.2rev11.7z, цей пакет включає бібліотеки PyGObject для Python 3.3 і GTK + 3 для Windows, які стискаються 7-Zip, ми розпаковуємо його, і у нас буде папка з таким вмістом:

Зміст папки pygi-aio-3.4.2rev11.7

Зміст папки pygi-aio-3.4.2rev11.7

Тепер ми копіюємо папку gtk a C: \ Python33 \ Lib \ site-пакети саме тут встановлюються сторонні пакети для Python.

Скопіюйте папку gtk

Скопіюйте папку gtk

Папка Gtk у папці C: \ Python33 \ Lib \ site-пакети

Папка Gtk у папці C: \ Python33 \ Lib \ site-пакети

Повертаємось до нашої папки pygi-aio-3.4.2rev11 і ми відкриваємо папку py33 для версії Python, тобто 3.3

Зміст папки py33

Зміст папки py33

Ми відбираємо весь вміст Папка py33 і ми копіюємо його назад у папку C: \ Python33 \ Lib \ site-пакети, нас попросять змішати та переписати, ми відповідаємо ствердно. Вміст папки сайт-пакети це буде так, як показано на наступному зображенні:

Скопіюйте вміст папки py33 до C: \ Python33 \ Lib \ site-пакети

Скопіюйте вміст папки py33 до C: \ Python33 \ Lib \ site-пакети

Перевірка правильної установки PyGobject та GTK + 3

Щоб переконатися, що наша установка була правильною, ми відкриваємо Python IDLE та імпортуємо бібліотеки GTK + 3, і якщо у нас немає жодного повідомлення про помилку, все буде зроблено правильно.

from gi.repository import Gtk

PyGobject та GTK + 3 встановлені правильно

PyGobject та GTK + 3 встановлені правильно


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Хоакін - сказав він

    А чому GTK? Чи не краще було б розвиватися в QT? крім того, що є багатоплатформою, і багато хто каже, що це майбутнє

    1.    артрус - сказав він

      Ну, дві чудові графічні бібліотеки на робочому столі GNU / Linux - це GTK і QT, кожна з них вибирає ту, яку віддає перевагу. Причин битися немає.

      Різниця між GTK та QT полягає в тому, що останній є фреймворком, справді дуже хорошим, але будучи фреймворком, він споживає трохи більше ресурсів.

      Наприклад, Mozilla Firefox, Google Chrome, LibreOffice та довгий etcetera зроблені з GTK; Це не означає, що це краще, ніж QT, кожен повинен вибрати той, який відповідає його уподобанням та потребам, ми не хочемо викликати дискусію про це.

      1.    pandev92 - сказав він

        Google chrome від версії 33, залиште gtk.

  2.   роло - сказав він

    і чому пояснення для Windows, а не Linux

    1.    Герман - сказав він

      Це тому, що в Linux все вже упаковано та в офіційних сховищах кожного дистрибутива? Наприклад, у Fedora у мене вже встановлені Python 3, Gtk + 3 та PyGobject за замовчуванням. Якщо я хочу Glade, це просто "yum install glade". Легко, правда? 🙂

    2.    артрус - сказав він

      Тому що, як каже Герман, для дистрибутивів GNU / Linux вони вже упаковані, і встановити їх дуже просто; наприклад, встановити glade в Debian дуже просто:
      здібність встановити галявину

  3.   Марсело - сказав він

    Якщо я хочу скористатися Python 2.7, чи будуть кроки однаковими?
    Очевидно, що встановлення 2.7-розрядного Python 32 (навіть якщо ви використовуєте 64-розрядну ОС) і замість папки py33 піде 2.7. Це спрацювало б?
    Спасибо.

    1.    артрус - сказав він

      Ну так, якщо у вас є проблема, залиште мені коментар.

      Удача.

      1.    Марсело - сказав він

        Дякую, я спробував, і наразі для мене працює "Привіт світ".

        Я бачу, чи отримаю я якийсь хороший навчальний посібник з pyGTK3, або як там це називається, і будь-які проблеми, зверніть увагу.

        1.    артрус - сказав він
          1.    Марсело - сказав він

            Карамба! Дуже дякую!

          2.    Марсело - сказав він

            Тестування GTK3 за допомогою Python 2.7 у Windows та слідування підручнику. Поки що всі програми працюють для мене, крім тієї, що міститься в главі 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Це видає мені таку помилку:
            Traceback (останній останній дзвінок):
            Файл "C: \ Users \ User \ Desktop \ test.py", рядок 24, у
            win = IconViewWindow ()
            Файл "C: \ Users \ User \ Desktop \ test.py", рядок 19, у __init__
            pixbuf = Gtk.IconTheme.get_default (). load_icon (значок, 64, 0)
            Файл "C: \ Python27 \ lib \ site-пакети \ gi \ types.py", рядок 47, у функції
            return info.invoke (* args, ** kwargs)
            GError: Піктограма 'gtk-cut' відсутня в темі

            Я спробував це з іншими піктограмами, і воно теж не працює. Чи потрібно встановлювати тему? З цього часу дякую.

          3.    Марсело - сказав він

            Як і Приклад 19. Перетягування.

            Функція, яка викликає в обох випадках і саме там я отримую помилку:

            pixbuf = Gtk.IconTheme.get_default (). load_icon (ім'я_іконки, 16, 0)

            Я не можу знайти піктограму, але в інших прикладах ви можете їх використовувати. Це видає мені помилку лише тоді, коли я хочу використовувати її з цією функцією (тут icon_name можна замінити таким значенням, як Gtk.STOCK_CUT або іншим, і це видає точно таку ж помилку).

          4.    Марсело - сказав він

            Я продовжую говорити сам із собою. В інших прикладах мені підходить те, що зображення завантажуються на кнопки. Я не можу завантажити піктограми функцією, яка міститься у двох прикладах, які я наводив раніше.

          5.    артрус - сказав він

            Я думаю, що помилка очевидна:
            GError: Піктограма 'gtk-cut' відсутня в темі

            Очевидно, що ця піктограма недоступна, використовуйте іншу піктограму. Можливо, програма підтримки пакетів не включала піктограми тем або її неможливо знайти у шляху за замовчуванням, скористайтеся дистрибутивом GNU / Linux і подивіться, чи все ж така ж помилка з'являється.

            Що стосується питання 19, воно, схоже, пов’язане з версією PyGobject, у верхній частині документації там написано:

            примітки
            Для роботи наступних прикладів потрібні версії PyGObject = 3.0.3.

            Ваша версія - 3.0, спробуйте розподіл GNU / Linux; а потім нам доведеться почекати, поки вони оновлять пакет (для Windows), або в будь-якому випадку ви можете скомпілювати його самостійно.

            Вітаємо і рухаємось далі.

          6.    Марсело - сказав він

            В Ubuntu всі приклади підручників для мене працюють ідеально. У Windows це все ще не працює. Мені доведеться почекати. Іншим, хто не ходить, є приклад Спінера, який не займається анімацією. Вітаю та дякую.

  4.   Йошуа - сказав він

    Я дотримувався підручника з встановлення та встановлював все поетапно.
    І виконуючи наступний код:
    з gi.repository import Gtk

    клас Fiestra
    def __init __ (self):
    filename = "/ data / dam / Python samplers / Saudoform"
    конструктор = Gtk.builder ()
    constructor.add_from_file (ім'я файлу)
    #dictionary, де ми співвідносимо sinais з подіями
    sinais = {
    «ClickedAccept»: self.clic_boton,
    "ActivateTextCadro": self.clic_boton,
    "DestroyFiestra": Gtk.main_quit

    }
    constructor.connect_signals (sinais)
    # Для отримання доступу ми отримуємо посилання на дескриптор XML
    self.label = self.widgets_widget ("Мітка")
    self.cadroTexto = self.widgets_widget ("CadroTexto")

    def button_click (самостійно, віджет):
    text = self.cadroTexto.get_text ()
    self.label.set_text ("хвиля% s"% тексту)

    якщо __name__ == »__ main__»:
    FiestraPrincipal ()
    Gtk.Main ()

    Я отримую таку відповідь:
    Traceback (останній останній дзвінок):
    Файл «C: / Users / admin / Google Drive / test / SaudoForm.py», рядок 3, у
    з gi.repository import Gtk
    Файл "C: \ Python33 \ lib \ site-пакети \ gi \ __ init__.py", рядок 27, у
    з ._gi import _API, Repository
    ImportError: Помилка завантаження DLL:% 1 не є дійсним додатком Win32.

    Хтось знає, в чому проблема, або що може бути можливим її вирішенням.
    Велике спасибі.

  5.   Ісус - сказав він

    Цікаво. Я зробив установку в Linux, але пояснення для Windows є прекрасним, тепер я маю це в обох. 😉

  6.   Рафа Кармона - сказав він

    Це смішно на 7-розрядному Windows 32 вперше.
    У Windows 7 64 bit я не можу запустити його, я завжди отримую його;
    >>> з gi.repository import Gtk
    Traceback (останній останній дзвінок):
    Файл «», рядок 1, в
    Файл "C: \ Python33 \ lib \ site-пакети \ gi \ __ init__.py", рядок 27, у
    з ._gi імпортувати _API
    ImportError: Помилка завантаження DLL: зазначений процес не знайдено.

    Я спробував це в будь-якому разі, я вже втратив ілюзію встановлення.

    1.    артрус - сказав він

      Ви побачите, що в 64-розрядних бібліотеках все ще є деякі помилки, будь ласка, встановіть 32-розрядну версію як python, так і GTK +, щоб у вас не виникало проблем.

      Ви ніколи не повинні втрачати ілюзію 🙂

  7.   Річард - сказав він

    Привіт, я працюю з python + gtk3, це дуже добре, зараз у мене невелика проблема. Я хочу змінити піктограму на свою форму (вікно) у цьому випадку, і я можу її змінити, заздалегідь дякую

  8.   Йорс - сказав він

    публікуйте прості відео про те, як програмувати в gtk + 3, та прості привітання з підручниками

  9.   Хосе - сказав він

    Відмінний підручник. Щиро дякую за ваші зусилля. Привітання.

  10.   jkmilo1030 - сказав він

    Я зробив усі кроки, і коли я пішов довіряти установці, я отримав цю помилку.

    Traceback (останній останній дзвінок):
    Файл «», рядок 1, в
    з gi.repository import Gtk
    ImportError: Немає модуля з назвою 'gi'