Membangunkan aplikasi dengan Python 3, Glade dan GTK + 3 pada Windows

pengenalan

Dalam GNU / Linux mengembangkan aplikasi dengan Python 3, Glade dan GTK + 3 sangat mudah, pakej-pakej datang secara lalai dalam sebilangan besar pengedaran.

Melalui Senang kita dapat membuat antara muka pengguna dengan cepat dan mudah dan kemudian menggunakannya bersama dengan Python. Untuk mencapai ini, anda gunakan Objektif PyGO terima kasih kepada sistem introspeksi yang ditawarkan oleh GNOME, yang menjadikan Rapid Application Development (RAD) menjadi lebih mudah; kita juga boleh menggunakan antara muka yang dibuat dengan Glade dari bahasa pengaturcaraan lain.

Masalahnya berlaku ketika kita ingin menggunakan aplikasi kita di Microsoft Windows, kerana hingga saat ini tidak ada pakej rasmi untuk sistem ini.

Dengan tutorial ini bertujuan agar aplikasi yang telah dibuat di GNU / Linux menggunakan Python 3 dan GTK + 3 berjalan tanpa masalah pada Windows.

Keperluan

  • Python 3.3
  • Gtk + 3
  • Glade 3.14 atau lebih tinggi (pereka GUI)
  • pygobject

Pemasangan pada Windows

Ia akan bermula dengan membuat folder yang dipanggil perisian atau pilihan anda yang lain dan kami akan menyimpan semua pakej yang dimuat turun.

Muat turun pakej pemasangan

Muat turun Python 3.3

Ia boleh dimuat turun dari halaman rasmi Python python.org

Muat turun pemasang Python

Muat turun pemasang Python

Dengan mengklik pautan (Windows Installer) pemasang Python akan memuat turun.

Muat turun Glade

Muat turun laman web: glade.gnome.org

Kedua-dua versi Python dan Glade adalah 32-bit, tetapi berjalan tanpa masalah pada sistem 64-bit

Halaman Glade

Halaman Glade

Muat turun PyGObject

Muat turun laman web: https://wiki.gnome.org/PyGObject

Kita mesti memuat turun versi untuk GTK + 3

Objektif PyGO

Objektif PyGO

PyGObject dalam kod Google

PyGObject dalam kod Google

Memasang pakej

Sehingga kini kita sudah mempunyai semua pakej yang dimuat turun dalam folder perisian dan semasa kami memuat turun setiap pakej, kami akan memulakannya terlebih dahulu dengan pemasangan Python.

Pakej yang dimuat turun

Pakej yang dimuat turun

Pemasangan Python

Pemasangannya sangat mudah, wizard akan memandu kita melalui prosesnya; Kami meninggalkan semua pilihan yang ditandai secara lalai.

Program pemasangan Python

Program pemasangan Python

Seperti yang dilihat dalam gambar, Python dipasang di folder C: \ Python33 \ Secara lalai, kami membiarkannya dan meneruskan pemasangan.

Folder pemasangan Python

Folder pemasangan Python

Pada titik pemasangan ini, kami memilih pilihan Tambah python.exe ke Path, dengan tujuan bahawa ketika kita melancarkan jurubahasa Python, ia dijalankan tanpa perlu menambahkannya ke jalur sistem secara manual.

Tambah Python ke Laluan Sistem

Tambah Python ke Laluan Sistem

Kemudian kami menyelesaikan pemasangan dan Python akan dipasang pada sistem kami.

Pemasangan Glade

Pemasangan glade tidak menimbulkan komplikasi besar, kami menjalankan program pemasangan dan mengikuti langkah-langkah penyihir.

Pasang pelekap

Pasang pelekap

Pemasangan PyGObject

Kami telah memuat turun pakej pygi-aio-3.4.2rev11.7z, pakej ini merangkumi perpustakaan PyGObject untuk Python 3.3 dan GTK + 3 untuk Windows, yang dimampatkan dengan 7-Zip, kami unzipnya dan kami akan mempunyai folder dengan kandungan berikut:

Kandungan folder pygi-aio-3.4.2rev11.7

Kandungan folder pygi-aio-3.4.2rev11.7

Sekarang kita menyalin folder gtk a C: \ Python33 \ Lib \ pakej laman web di mana pakej pihak ketiga untuk Python dipasang.

Salin folder gtk

Salin folder gtk

Folder Gtk di C: \ Python33 \ Lib \ pakej laman web

Folder Gtk di C: \ Python33 \ Lib \ pakej laman web

Kami kembali ke folder kami pygi-aio-3.4.2Rev11 dan kami membuka folder py33 untuk versi Python iaitu 3.3

Kandungan folder py33

Kandungan folder py33

Kami memilih semua kandungan folder py33 dan kami menyalinnya semula ke dalam folder C: \ Python33 \ Lib \ pakej laman web, kami akan diminta untuk mencampurkan dan menimpa, kami menjawab dengan tegas. Kandungan folder pakej laman web seperti yang ditunjukkan dalam gambar berikut:

Salin kandungan folder py33 ke pakej laman: C: \ Python33 \ Lib \

Salin kandungan folder py33 ke pakej laman: C: \ Python33 \ Lib \

Memeriksa pemasangan PyGobject dan GTK + 3 yang betul

Untuk memastikan bahawa pemasangan kami betul, kami membuka Python IDLE dan mengimport perpustakaan GTK + 3 dan jika kami tidak mempunyai mesej ralat semuanya akan dilakukan dengan betul.

from gi.repository import Gtk

PyGobject dan GTK + 3 dipasang dengan betul

PyGobject dan GTK + 3 dipasang dengan betul


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Joaquin kata

    Dan mengapa GTK? Bukankah lebih baik berkembang di QT? selain menjadi pelbagai platform dan banyak yang mengatakan bahawa ia adalah masa depan

    1.    artus kata

      Nah, dua perpustakaan grafik hebat di desktop GNU / Linux adalah GTK dan QT, masing-masing memilih yang mereka sukai. Tidak ada alasan untuk melawan.

      Perbezaan antara GTK dan QT adalah yang terakhir adalah kerangka kerja, memang sangat bagus, tetapi sebagai kerangka kerja, ia memerlukan lebih banyak sumber.

      Contohnya Mozilla Firefox, Google Chrome, LibreOffice dan lain-lain yang panjang dibuat dengan GTK; Ini tidak bermaksud bahawa lebih baik daripada QT, setiap orang harus memilih yang sesuai dengan pilihan dan keperluan mereka, kita tidak mahu menimbulkan perbincangan mengenainya.

      1.    pandev92 kata

        Google chrome dari versi 33, tinggalkan gtk.

  2.   rolo kata

    dan mengapa penjelasan untuk windows dan bukan linux

    1.    Bahasa Jerman kata

      Adakah kerana di Linux semuanya sudah dibungkus dan di repositori rasmi setiap distro? Sebagai contoh, di Fedora, saya sudah memasang Python 3, Gtk + 3, dan PyGobject secara lalai. Sekiranya saya mahukan Glade, itu hanya "yum install glade". Mudah kan? 🙂

    2.    artus kata

      Kerana seperti yang dijelaskan oleh Germán, untuk pengedaran GNU / Linux mereka sudah dibungkus dan sangat mudah untuk memasangnya; contohnya memasang glade di Debian sangat mudah:
      pemasangan glade

  3.   Marcelo kata

    Sekiranya saya ingin menggunakan Python 2.7 adakah langkahnya sama?
    Jelas sekali, memasang Python 2.7 32-bit (walaupun anda menggunakan OS 64-bit) dan bukannya folder py33, 2.7 akan berjalan. Adakah ia akan berjaya?
    Terima kasih.

    1.    artus kata

      Baiklah, jika anda mempunyai masalah, tinggalkan komen saya.

      Nasib.

      1.    Marcelo kata

        Terima kasih, saya telah mencubanya dan buat masa ini "Hello world" berfungsi untuk saya.

        Saya melihat sama ada saya boleh mendapatkan tutorial pyGTK3 yang baik atau apa sahaja yang dipanggil dan sebarang masalah, amaran.

          1.    Marcelo kata

            Caramba! Terima kasih banyak-banyak!

          2.    Marcelo kata

            Menguji GTK3 dengan Python 2.7 pada Windows dan mengikuti tutorial. Setakat ini semua program berfungsi untuk saya, kecuali yang terdapat dalam Bab 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Ini memberi saya ralat berikut:
            Jejak balik (panggilan terakhir terakhir):
            Fail "C: \ Users \ User \ Desktop \ test.py", baris 24, dalam
            win = IconViewWindow ()
            Fail "C: \ Users \ User \ Desktop \ test.py", baris 19, dalam __init__
            pixbuf = Gtk.IconTheme.get_default (). load_icon (ikon, 64, 0)
            Fail "C: \ Python27 \ lib \ site-package \ gi \ types.py", baris 47, dalam fungsi
            mengembalikan maklumat.invoke (* args, ** kwargs)
            GError: Ikon 'gtk-cut' tidak terdapat dalam tema

            Saya mencubanya dengan ikon lain dan ia juga tidak berfungsi. Adakah saya perlu memasang tema? Terima kasih sejak sekarang.

          3.    Marcelo kata

            Contoh 19. Seret dan Lepas.

            Fungsi yang memanggil dalam kedua-dua kes dan di sinilah saya mendapat ralat adalah:

            pixbuf = Gtk.IconTheme.get_default (). load_icon (ikon_nama, 16, 0)

            Saya tidak dapat mencari ikon, tetapi dalam contoh lain anda boleh menggunakannya. Ini hanya memberi saya ralat ketika saya ingin menggunakannya dengan fungsi itu (di sini icon_name boleh diganti dengan nilai seperti Gtk.STOCK_CUT atau apa sahaja dan ia memberikan ralat yang sama).

          4.    Marcelo kata

            Saya terus bercakap dengan diri sendiri. Apa yang sesuai untuk saya dalam contoh lain ialah gambar memuatkan pada butang. Saya tidak dapat memuat ikon dengan fungsi yang terdapat dalam dua contoh yang saya berikan sebelumnya.

          5.    artus kata

            Saya rasa kesalahannya jelas:
            GError: Ikon 'gtk-cut' tidak terdapat dalam tema

            Nampaknya ikon itu tidak tersedia, gunakan ikon lain. Mungkin penyelenggara pakej tidak menyertakan ikon tema atau tidak dapat dijumpai di jalan lalai, gunakan sebaran GNU / Linux dan lihat apakah ralat yang sama masih muncul.

            Mengenai soalan 19, ini nampaknya berkaitan dengan versi PyGobject, di bahagian atas dokumentasi tertulis:

            Nota
            Versi PyGObject = 3.0.3 diperlukan agar contoh berikut berfungsi.

            Versi yang anda ada ialah 3.0, cuba sebarkan GNU / Linux; dan kemudian kita harus menunggu mereka mengemas kini pakej (untuk Windows) atau dalam keadaan apa pun anda boleh menyusunnya sendiri.

            Salam dan teruskan.

          6.    Marcelo kata

            Di Ubuntu semua contoh tutorial berfungsi dengan sempurna untuk saya. Pada Windows, ia masih tidak berfungsi. Saya mesti menunggu. Satu lagi yang tidak berjalan adalah contoh Spinner, yang tidak melakukan animasi. Salam dan terima kasih.

  4.   Joshua kata

    Saya telah mengikuti tutorial pemasangan dan memasang semuanya langkah demi langkah.
    Dan melaksanakan kod berikut:
    dari gi.repository import Gtk

    kelas FiestraPrinsip:
    def __init __ (diri):
    nama fail = "/ data / dam / Python exemplars / Saudoform"
    pembina = Gtk.builder ()
    buildor.add_from_file (nama fail)
    #dictionary di mana kita mengaitkan sinais dengan peristiwa
    sinais = {
    «ClickedAccept»: self.clic_boton,
    "ActivateTextCadro": self.clic_boton,
    "DestroyFiestra": Gtk.main_quit

    }
    pembina.connect_signals (sinais)
    #Kami mendapat rujukan kepada deskriptor XML untuk dapat mengakses
    self.label = self.widgets_widget ("Label")
    self.cadroTexto = self.widgets_widget ("CadroTexto")

    def button_click (diri, widget):
    teks = self.cadroTexto.get_text ()
    self.label.set_text (teks "gelombang% s"%)

    jika __nama__ == »__ main__»:
    FiestraPrinsipal ()
    Gtk.Main ()

    Saya mendapat jawapan ini:
    Jejak balik (panggilan terakhir terakhir):
    Fail «C: / Users / admin / Google Drive / test / SaudoForm.py», baris 3, dalam
    dari gi.repository import Gtk
    Fail "C: \ Python33 \ lib \ site-package \ gi \ __ init__.py", baris 27, di
    dari ._gi import _API, Repositori
    ImportError: Pemuatan DLL gagal:% 1 bukan aplikasi Win32 yang sah.

    Seseorang tahu apa masalahnya, atau apakah penyelesaiannya yang mungkin.
    Terima kasih banyak.

  5.   Isa kata

    Menarik. Saya telah melakukan pemasangan di linux, tetapi penjelasan untuk windows baik-baik saja, sekarang saya mempunyai kedua-duanya. 😉

  6.   Rafael Carmona kata

    Ia lucu pada windows 7 bit pertama kali.
    Pada Windows 7 64 bit, saya tidak dapat menjalankannya, saya selalu mendapatkannya;
    >>> dari gi.repository import Gtk
    Jejak balik (panggilan terakhir terakhir):
    Fail «», baris 1, dalam
    Fail "C: \ Python33 \ lib \ site-package \ gi \ __ init__.py", baris 27, di
    dari ._gi import _API
    Kesalahan Import: Beban DLL gagal: Proses yang ditentukan tidak dijumpai.

    Saya sudah mencubanya, saya sudah kehilangan khayalan memasangnya

    1.    artus kata

      Anda akan melihat perpustakaan 64-bit masih mempunyai beberapa bug, sila pasang versi 32-bit python dan GTK + supaya anda tidak menghadapi masalah.

      Anda tidak boleh kehilangan ilusi 🙂

  7.   Richard kata

    Hai saya bekerja dengan python + gtk3, sangat baik sekarang saya menghadapi masalah sedikit saya mahu menukar ikon ke bentuk saya (tetingkap) dalam kes ini dan saya boleh mengubahnya, terima kasih sebelumnya, Salam

  8.   Jors kata

    menerbitkan video mudah mengenai cara memprogram di gtk + 3 dan ucapan tutorial ringkas

  9.   Jose kata

    Tutorial yang sangat baik. Terima kasih banyak atas usaha anda. Salam.

  10.   JKMILO1030 kata

    Saya melakukan semua langkah dan ketika mempercayai pemasangan, saya mendapat ralat ini.

    Jejak balik (panggilan terakhir terakhir):
    Fail «», baris 1, dalam
    dari gi.repository import Gtk
    ImportError: Tiada modul bernama 'gi'