Mengembangkan aplikasi dengan Python 3, Glade dan GTK + 3 di Windows

Pengantar

Di GNU / Linux mengembangkan aplikasi dengan Python 3, Glade dan GTK + 3 sangat mudah, paket-paketnya datang secara default di sebagian besar distribusi.

Melalui rawa kita dapat membuat antarmuka pengguna dengan cepat dan mudah dan kemudian menggunakannya bersama dengan Python. Untuk mencapai ini, Anda gunakan Objek PyGO berkat sistem introspeksi yang ditawarkan oleh GNOME, yang membuat Rapid Application Development (RAD) jauh lebih mudah; juga memungkinkan untuk menggunakan antarmuka yang kami buat dengan Glade dari bahasa pemrograman lain.

Masalah terjadi ketika kami ingin menggunakan aplikasi kami di Microsoft Windows, karena hingga saat ini paket untuk sistem ini tidak ada secara resmi.

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

Persyaratan

  • Python 3.3
  • Gtk + 3
  • Glade 3.14 atau lebih tinggi (desainer GUI)
  • objek objek

Instalasi di Windows

Ini akan dimulai dengan membuat folder bernama perangkat lunak atau salah satu preferensi Anda dan kami akan menyimpan di dalamnya semua paket yang diunduh.

Unduh paket instalasi

Unduh Python 3.3

Itu dapat diunduh dari halaman resmi Python python.org

Unduh pemasang Python

Unduh pemasang Python

Dengan mengklik link (jendela Installer) pemasang Python akan mengunduh.

Unduh Glade

Unduh situs: rawa.gnome.org

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

Glade Page

Glade Page

Unduh PyGObject

Unduh situs: https://wiki.gnome.org/PyGObject

Kita harus mengunduh versi untuk GTK + 3

Objek PyGO

Objek PyGO

PyGObject dalam kode Google

PyGObject dalam kode Google

Menginstal paket

Sampai saat ini kami sudah memiliki semua paket yang diunduh di folder perangkat lunak dan karena kami telah mengunduh setiap paket, kami akan mulai dengan instalasi Python terlebih dahulu.

Paket yang diunduh

Paket yang diunduh

Instalasi Python

Pemasangannya sangat sederhana, wizard akan memandu kita melalui prosesnya; Kami membiarkan semua opsi ditandai secara default.

Program instalasi Python

Program instalasi Python

Seperti yang terlihat pada gambar, Python dipasang di folder C: \ Python33 \ Secara default, kami membiarkannya apa adanya dan melanjutkan instalasi.

Folder instalasi Python

Folder instalasi Python

Pada tahap penginstalan ini, kami memilih opsi Tambahkan python.exe ke Path, dengan tujuan agar ketika kita meluncurkan interpreter Python, itu dijalankan tanpa perlu menambahkannya ke jalur sistem secara manual.

Tambahkan Python ke Jalur Sistem

Tambahkan Python ke Jalur Sistem

Kemudian kami menyelesaikan penginstalan dan Python akan diinstal di sistem kami.

Instalasi Glade

Instalasi Glade tidak merepresentasikan sebuah komplikasi besar, kami menjalankan program instalasi dan mengikuti langkah-langkah dari wizard.

Pasang rawa

Pasang rawa

Instalasi PyGObject

Kami telah mengunduh paketnya pygi-aio-3.4.2rev11.7z, paket ini mencakup pustaka PyGObject untuk Python 3.3 dan GTK + 3 untuk Windows, yang dikompresi dengan 7-zip, kami unzip dan kami akan memiliki folder dengan konten berikut:

Isi folder pygi-aio-3.4.2rev11.7

Isi folder pygi-aio-3.4.2rev11.7

Sekarang kita salin foldernya gtk a C: \ Python33 \ Lib \ site-packages dimana paket pihak ketiga untuk Python diinstal.

Salin folder gtk

Salin folder gtk

Folder Gtk di C: \ Python33 \ Lib \ site-packages

Folder Gtk di C: \ Python33 \ Lib \ site-packages

Kami kembali ke folder kami pygi-aio-3.4.2rev11 dan kami membuka folder tersebut py33 untuk versi Python yaitu 3.3

Isi folder py33

Isi folder py33

Kami memilih semua konten folder py33 dan kami menyalinnya kembali ke folder C: \ Python33 \ Lib \ site-packages, kami akan diminta untuk mencampur dan menimpa, kami menjawab dengan tegas. Isi folder paket situs itu akan seperti yang ditunjukkan pada gambar berikut:

Salin konten folder py33 ke C: \ Python33 \ Lib \ site-packages

Salin konten folder py33 ke C: \ Python33 \ Lib \ site-packages

Memeriksa instalasi PyGobject dan GTK + 3 yang benar

Untuk memeriksa apakah instalasi kami sudah benar, kami membuka Python IDLE dan mengimpor pustaka GTK + 3 dan jika kami tidak memiliki pesan kesalahan, semuanya akan dilakukan dengan benar.

from gi.repository import Gtk

PyGobject dan GTK + 3 dipasang dengan benar

PyGobject dan GTK + 3 dipasang dengan benar


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   joaquin dijo

    Dan mengapa GTK? Bukankah lebih baik mengembangkan di QT? selain multiplatform dan banyak yang bilang ini masa depan

    1.    seni dijo

      Dua pustaka grafik yang bagus pada desktop GNU / Linux adalah GTK dan QT, masing-masing memilih salah satu yang mereka sukai. Tidak ada alasan untuk bertengkar.

      Perbedaan antara GTK dan QT adalah bahwa yang terakhir adalah kerangka kerja, memang sangat bagus, tetapi sebagai kerangka kerja itu menghabiskan lebih banyak sumber daya.

      Misalnya Mozilla Firefox, Google Chrome, LibreOffice dan banyak lagi dibuat dengan GTK; Ini tidak berarti lebih baik daripada QT, setiap orang harus memilih yang sesuai dengan preferensi dan kebutuhan mereka, kami tidak ingin menimbulkan diskusi tentang itu.

      1.    pandev92 dijo

        Google chrome dari versi 33, tinggalkan gtk.

  2.   Rolo dijo

    dan mengapa penjelasan untuk windows dan bukan linux

    1.    Germán dijo

      Apakah karena di Linux semuanya sudah dikemas dan ada di repositori resmi masing-masing distro? Di Fedora, misalnya, saya sudah menginstal Python 3, Gtk + 3, dan PyGobject secara default. Jika saya ingin Glade, itu hanya "yum install glade". Mudah kan? 🙂

    2.    seni dijo

      Karena seperti yang dikatakan Germán, untuk distribusi GNU / Linux sudah dikemas dan sangat mudah untuk menginstalnya; misalnya untuk menginstal glade di Debian sangat sederhana:
      aptitude install glade

  3.   Marcelo dijo

    Jika saya ingin menggunakan Python 2.7, apakah langkah-langkahnya akan sama?
    Jelas, menginstal Python 2.7 32-bit (bahkan jika Anda menggunakan OS 64-bit) dan bukannya folder py33, 2.7 akan berjalan. Akankah itu berhasil?
    Terima kasih.

    1.    seni dijo

      Ya, jika Anda memiliki masalah, tinggalkan saya komentar.

      Keberuntungan.

      1.    Marcelo dijo

        Terima kasih, saya sudah mencobanya dan untuk saat ini "Halo dunia" bekerja untuk saya.

        Saya melihat apakah saya bisa mendapatkan tutorial pyGTK3 yang bagus atau apa pun namanya dan ada masalah, peringatan.

          1.    Marcelo dijo

            Caramba! Terima kasih banyak!

          2.    Marcelo dijo

            Menguji GTK3 dengan Python 2.7 di Windows dan mengikuti tutorialnya. Sejauh ini semua program bekerja untuk saya, kecuali yang ada di Bab 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Ini memberi saya kesalahan berikut:
            Traceback (panggilan terakhir terakhir):
            File "C: \ Users \ User \ Desktop \ test.py", baris 24, dalam
            win = IconViewWindow ()
            File "C: \ Users \ User \ Desktop \ test.py", baris 19, di __init__
            pixbuf = Gtk.IconTheme.get_default (). load_icon (ikon, 64, 0)
            File "C: \ Python27 \ lib \ site-packages \ gi \ types.py", baris 47, dalam fungsi
            return info.invoke (* args, ** kwargs)
            GError: Ikon 'gtk-cut' tidak ada dalam tema

            Saya mencoba dengan ikon lain dan tidak berhasil. Apakah saya perlu memasang tema? Terima kasih sejak sekarang.

          3.    Marcelo dijo

            Begitu pula Contoh 19. Seret dan Jatuhkan.

            Fungsi yang memanggil kedua kasus dan di mana saya mendapatkan kesalahan adalah:

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

            Saya tidak dapat menemukan ikonnya, tetapi dalam contoh lain Anda dapat menggunakannya. Itu hanya memberi saya kesalahan ketika saya ingin menggunakannya dengan fungsi itu (di sini icon_name dapat diganti dengan nilai seperti Gtk.STOCK_CUT atau apa pun dan itu memberikan kesalahan yang persis sama).

          4.    Marcelo dijo

            Saya terus berbicara pada diri saya sendiri. Apa yang berhasil untuk saya dalam contoh lain adalah gambar dimuat di tombol. Saya tidak dapat memuat ikon dengan fungsi yang ada dalam dua contoh yang saya berikan sebelumnya.

          5.    seni dijo

            Saya pikir kesalahannya jelas:
            GError: Ikon 'gtk-cut' tidak ada dalam tema

            Rupanya ikon itu tidak tersedia, gunakan ikon lain. Mungkin pengelola paket tidak menyertakan ikon tema atau tidak dapat ditemukan di jalur default, gunakan distribusi GNU / Linux dan lihat apakah kesalahan yang sama masih muncul.

            Mengenai pertanyaan 19, tampaknya terkait dengan versi PyGobject, di bagian atas dokumentasi disebutkan:

            Note
            Versi PyGObject = 3.0.3 diperlukan agar contoh berikut berfungsi.

            Versi yang Anda miliki adalah 3.0, coba distribusi GNU / Linux; dan kemudian kami harus menunggu mereka untuk memperbarui paket (untuk Windows) atau Anda dapat mengkompilasinya sendiri.

            Salam dan lanjutkan.

          6.    Marcelo dijo

            Di Ubuntu semua contoh tutorial bekerja sempurna untuk saya. Di Windows, itu masih tidak berfungsi. Saya harus menunggu. Lain yang tidak berjalan adalah contoh Spinner, yang tidak melakukan animasi. Salam dan terimakasih.

  4.   Yosua dijo

    Saya telah mengikuti tutorial instalasi dan menginstal semuanya selangkah demi selangkah.
    Dan menjalankan kode berikut:
    dari gi.repository import Gtk

    kelas FiestraPrinsip:
    def __init __ (sendiri):
    filename = "/ data / dam / Python exemplars / Saudoform"
    konstruktor = Gtk.builder ()
    constructor.add_from_file (nama file)
    #dictionary yang mengaitkan sinais dengan peristiwa
    sinais = {
    «ClickedAccept»: self.clic_boton,
    "ActivateTextCadro": self.clic_boton,
    "DestroyFiestra": Gtk.main_quit

    }
    constructor.connect_signals (sinais)
    #Kami mendapatkan referensi ke deskriptor XML agar dapat mengakses
    self.label = self.widgets_widget ("Label")
    self.cadroTexto = self.widgets_widget ("CadroTexto")

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

    jika __name__ == »__ main__»:
    FiestraPrincipal ()
    Gtk.Main ()

    Saya mendapatkan jawaban ini:
    Traceback (panggilan terakhir terakhir):
    File «C: / Users / admin / Google Drive / test / SaudoForm.py», baris 3, dalam
    dari gi.repository import Gtk
    File "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", baris 27, di
    dari ._gi import _API, Repository
    ImportError: Pemuatan DLL gagal:% 1 bukan aplikasi Win32 yang valid.

    Seseorang tahu apa masalahnya, atau apa kemungkinan solusinya.
    Terima kasih banyak.

  5.   Isa dijo

    Menarik. Saya telah melakukan instalasi di linux, tetapi penjelasan untuk windows baik-baik saja, sekarang saya memilikinya di keduanya. 😉

  6.   Rafael Carmona dijo

    Ini lucu di windows 7 32-bit pertama kali.
    Pada Windows 7 64 bit, saya tidak dapat menjalankannya, saya selalu mendapatkannya;
    >>> dari gi.repository import Gtk
    Traceback (panggilan terakhir terakhir):
    File «», baris 1, dalam
    File "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", baris 27, di
    dari ._gi import _API
    ImportError: Pemuatan DLL gagal: Proses yang ditentukan tidak ditemukan.

    Saya tetap mencobanya mungkin, saya sudah kehilangan ilusi menginstalnya

    1.    seni dijo

      Anda akan melihat pustaka 64-bit masih memiliki beberapa bug, harap instal versi 32-bit dari python dan GTK + sehingga Anda tidak mengalami masalah.

      Anda seharusnya tidak pernah kehilangan ilusi 🙂

  7.   Richard dijo

    Hai, saya bekerja dengan python + gtk3, sangat bagus sekarang saya dalam sedikit masalah Saya ingin mengubah ikon ke formulir saya (jendela) dalam hal ini dan saya dapat mengubahnya, terima kasih sebelumnya, Salam

  8.   jors dijo

    mempublikasikan video sederhana tentang cara memprogram di gtk + 3 dan salam tutorial sederhana

  9.   Jose dijo

    Tutorial yang bagus. Terima kasih banyak atas usahamu. Salam.

  10.   jkmilo1030 dijo

    Saya melakukan semua langkah dan ketika saya mempercayai instalasi, saya mendapat kesalahan ini.

    Traceback (panggilan terakhir terakhir):
    File «», baris 1, dalam
    dari gi.repository import Gtk
    ImportError: Tidak ada modul bernama 'gi'