Membuat Aplikasi GUI (Desktop) dengan Python


Python memiliki banyak framework dan toolkits untuk mebuat aplikasi desktop. Mulai dari yang tradisional sampai yang cross-platform. 

Berikut ini beberpa library terpopuler yang bisa kitagunakan

1. Tkinter

Tkinter adalah library standar Python untuk membuat aplikasi GUI atau desktop.

Tkinter sebenarnya bentuk OOP dari Tcl/Tk. Tcl (Tool Command Language) adalah sebuah bahasa pemrograman dan TK adalah library yang digunakan oleh Tcl untuk membuat aplikasi GUI.

Tkinter biasanya secara default di-bundle dengan Python. Jadi ketika kamu install Python, Tkinter juga akan ikut Terinstal.

Untuk mengetes apakah di komputermu sudah terinstal Tkinter atau belum, silahkan ketik perintah berikut di interpreter Python:

>>> import _tkinter

Untuk menginstalnya bisa dengan perintah:

sudo apt install python-tk #untuk ptyhon 2
sudo apt install python3-tk # untuk python 3

Untuk pengguna Windows, kamu harus mencentang bagian ini saat menginstal Python agar Tkinter ikut terinstal.

Sampel program Hello World dengan Tkinter:

from tkinter import *
from tkinter import ttk
root = Tk()
ttk.Button(root, text="Hello World").grid()
root.mainloop()

2. wxPython

wxPython adalah GUI Toolkit yang bersifat cross-platform. Artinya, bisa digunakan di mana saja. Mau itu Windows, Linux, dan MacOS.

wxPython sebenarnya menggunakan library dari wxWidgets. wxWidgets adalah GUI Toolkit yang dibuat dengan bahasa C++.

Jika kamu ingin membuat aplikasi GUI yang mendukung untuk digunakan secara cross-platform, wxPython adalah pilihan yang tepat.

Berikut ini beberpa fitur unggulan wxPython:

  • Window Layout Using Sizers
  • Device Contexts (along with pens, brushes and fonts)
  • Comprehensive Event Handling System
  • HTML Help Viewer
  • Sound and Video Playback
  • Unicode and Internationalization Support
  • Document/View Architecture
  • Printing Archiecture
  • Sockets
  • Multithreading
  • File and Directory Manipulation
  • Online and Context-Sensitive Help
  • HTML Rendering
  • Basic Containers
  • Image Loading, Saving, Drawing and Manipulation
  • Date-Time Library and Timers
  • Error Handling
  • Clipboard and Drag-and-Drop

Sampel aplikasi Hello World:

# pertam-tama kita harus impor dulu modeul wxPython
import wx

# Next, buat objek app
app = wx.App()

# Lalu buat frame.
frm = wx.Frame(None, title="Hello World")

# Tapilkan ke layar.
frm.Show()

# Mulai main loop.
app.MainLoop()

3. PyGTK

PyGTK adalah modul Python untuk membuat aplikasi GUI dengan GTK+ (Gimp Toolkits). GTK+ adalah library yang biasanya digunakan untuk membuat aplikasi GUI di Linux, terutama pada desktop environment Gonme. PyGTK juga bersifat cross platform.

Website PyGTK

Sampel Hello World:

#impor pustaka GTK
import gtk

# membuat objek jendela
window = gtk.Window()

# konfigurasi jendela
window.set_size_request(600,200)
window.set_position(gtk.WIN_POS_CENTER)
window.set_title("Pemrograman PyGTK - Petani Kode")
window.connect("destroy", gtk.main_quit)

# tampilkan jendela
window.show()
gtk.main()

4. PyGObject

PyGObject adalah modul Python untuk membuat aplikasi GUI dengan Library GObject. GObject sendiri merupakan library berbasis OOP untuk bahasa C yang isinya GTK, GStreamer, WebKitGTK, GLib, GIO, dan lain sebagainya.

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

window = Gtk.Window(title="Hello World")
window.show()
window.connect("destroy", Gtk.main_quit)
Gtk.main()

PyGObject sudah digunakan di beberapa aplikasi, diantaranya:

  • Anaconda
  • MyPaint
  • Pitivi
  • GNOME Music
  • GNOME Tweak Tool
  • Orca
  • dll.

5. PyQt

PyQt adalah modul Python untuk membuat aplikasi GUI dengan library Qt. Qt Sendiri merupakan library untuk membuat aplikasi GUI pada bahasa C++.

PyQt tersedia dalam dua versi, yakni ada PyQt4 untuk Qt versi 4 dan PyQt 5 untuk Qt versi 5.

Fitur yang menarik dari Qt adalah kemampuannya membuat user interface yang menarik. Karena kita bisa gunakan Style Sheet di sana.

Berikut ini contohnya:

from PyQt5.QtWidgets import QApplication, QPushButton
app = QApplication([])
app.setStyleSheet("QPushButton { margin: 10ex; }")
button = QPushButton('Hello World')
button.show()
app.exec_()

6. PySide

PySide sama seperti PyQt, ia juga menggunakan Qt untuk membuat aplikasi GUI. PySide di kembangkan oleh The Qt Company pada proyek Qt for Python.

Contoh Hello World:

import sys
from PySide import QtGui

app = QtGui.QApplication(sys.argv)

wid = QtGui.QWidget()
wid.resize(250, 150)
wid.setWindowTitle('Simple')
wid.show()

sys.exit(app.exec_())

7. PySciter

PyScipter adalah modul Python untuk membuat aplikasi GUI dengan sciter. Sciter sendiri merupakan engine yang memungkinkan kita membuat aplikasi GUI dengan HTML, CSS, dan Javascript secara tertanam (embeddable).

import sciter

if __name__ == '__main__':
    frame = sciter.Window(ismain=True, uni_theme=True)
    frame.load_file("minimal.htm")
    frame.expand()
    frame.run_app()

8. PyWebview

PyWebview hampir sama seperti Sciter. Ia juga bekerja seperti Web browser. PyWebview bisa kita gunakan untuk membuat aplikasi GUI berbasis HTML, CSS, dan Js. Bahkan juga bisa dikombinasikan dengan Framework web seperti Flask dan Bottle.

Installasi PyWebview:

pip install pywebview

Contoh Program:

import webview
webview.create_window('Hello world', 'https://www.petanikode.com')
webview.start()

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *