Разработване на приложения с Python 3, Glade и GTK + 3 за Windows

Въвеждане

В GNU / Linux разработването на приложения с Python 3, Glade и GTK + 3 е много лесно, пакетите идват по подразбиране в повечето дистрибуции.

Благодаря на горска поляна можем да създадем потребителски интерфейси бързо и лесно и след това да ги използваме заедно с Python. За да постигнете това, вие използвате PyGObject благодарение на системата за интроспекция, предлагана от GNOME, която значително улеснява бързото разработване на приложения (RAD); възможно е също да използваме нашите интерфейси, създадени с Glade от други езици за програмиране.

Проблемът възниква, когато искаме да използваме нашите приложения в Microsoft Windows, тъй като доскоро пакетите за тази система не съществуват официално.

С този урок се предвижда приложенията, създадени в GNU / Linux с помощта на Python 3 и GTK + 3, да работят без проблеми в Windows.

изисквания

  • Python 3.3
  • Gtk + 3
  • Glade 3.14 или по-висока (GUI дизайнер)
  • пигообект

Инсталиране на Windows

Ще започне със създаване на папка, наречена софтуер или друго по ваше предпочитание и ние ще запазим в него всички пакети, които са изтеглени.

Изтеглете инсталационните пакети

Изтеглете Python 3.3

Може да се изтегли от официалната страница на Python python.org

Изтеглете инсталатора на Python

Изтеглете инсталатора на Python

Като щракнете върху връзката (Windows Installer) инсталационната програма на Python ще се изтегли.

Изтеглете Glade

Сайт за изтегляне: 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-цип, ние го разархивираме и ще имаме папка със следното съдържание:

Съдържание на папката 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.   Rolo каза той

    и защо обяснението за windows, а не linux

    1.    Germán каза той

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

    2.    артус каза той

      Защото, както казва Герман, за GNU / Linux дистрибуции те вече са опаковани и е много лесно да ги инсталирате; например да инсталирате glade в Debian е много просто:
      aptitude инсталирайте поляна

  3.   Марсело каза той

    Ако искам да използвам Python 2.7, стъпките ще бъдат ли същите?
    Очевидно е, че инсталирането на 2.7-битовия Python 32 (дори ако използвате 64-битова ОС) и вместо папката py33, 2.7 ще отиде. Щеше ли да работи?
    Благодаря.

    1.    артус каза той

      Ами да, ако имате проблем, оставете ми коментар.

      AXEL Advisors

      1.    Марсело каза той

        Благодаря, изпробвах го и засега "Hello world" ми работи.

        Виждам дали мога да получа някакъв добър урок за pyGTK3 или каквото и да се нарича и някакви проблеми, предупреждение.

          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 \ типове.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 все още не работи. Ще трябва да почакам. Друг, който не ходи, е примерът на Spinner, който не прави анимацията. Поздрави и благодарности.

  4.   Йошуа каза той

    Следвах урока за инсталиране и инсталирах всичко стъпка по стъпка.
    И изпълняване на следния код:
    от gi.repository import Gtk

    клас FiestraPrincipal:
    def __init __ (самостоятелно):
    filename = "/ data / dam / Python examples / 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 импортиране _API, хранилище
    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“