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
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
Unduh PyGObject
Unduh situs: https://wiki.gnome.org/PyGObject
Kita harus mengunduh versi untuk GTK + 3
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.
Instalasi Python
Pemasangannya sangat sederhana, wizard akan memandu kita melalui prosesnya; Kami membiarkan semua opsi ditandai secara default.
Seperti yang terlihat pada gambar, Python dipasang di folder C: \ Python33 \ Secara default, kami membiarkannya apa adanya dan melanjutkan instalasi.
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.
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.
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:
Sekarang kita salin foldernya gtk a C: \ Python33 \ Lib \ site-packages dimana paket pihak ketiga untuk Python diinstal.
Kami kembali ke folder kami pygi-aio-3.4.2rev11 dan kami membuka folder tersebut py33 untuk versi Python yaitu 3.3
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:
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
Dan mengapa GTK? Bukankah lebih baik mengembangkan di QT? selain multiplatform dan banyak yang bilang ini masa depan
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.
Google chrome dari versi 33, tinggalkan gtk.
dan mengapa penjelasan untuk windows dan bukan linux
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? 🙂
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
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.
Ya, jika Anda memiliki masalah, tinggalkan saya komentar.
Keberuntungan.
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.
Tutorial:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Terima kasih banyak!
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.
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).
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.
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.
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.
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.
Menarik. Saya telah melakukan instalasi di linux, tetapi penjelasan untuk windows baik-baik saja, sekarang saya memilikinya di keduanya. 😉
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
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 🙂
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
mempublikasikan video sederhana tentang cara memprogram di gtk + 3 dan salam tutorial sederhana
Tutorial yang bagus. Terima kasih banyak atas usahamu. Salam.
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'