GUI Pada Python

Posted At: 28 Jun 2020 13:12:00

Setelah mempelajari modul ini diharapkan pembaca memahami konsep GUI pada bahasa pemrograman Python.

Bahasa pemrograman Python memiliki kemampuan untuk membuat tampilan berbasis GUI. Pada artikel ini akan dibahas mengenai cara membuat tampilan GUI dengan Python. Adapun struktur tampilan untuk GUI Python seperti yang terlihat pada gambar berikut ini.

Struktur GUI Pada Python

Struktur GUI Pada Python

Jendela GUI

Pada bagian ini akan dicontohkan GUI untuk membuat jendela GUI dengan Python. Kode program berikut ini merupakan kode untuk membuat bagian jendela GUI.

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class App(QMainWindow):
    def __init__(self):
        super().__init__()
        self.title = 'Hello Python'
        self.left = 10
        self.top = 10
        self.width = 640
        self.height = 480
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        self.statusBar().showMessage('Message in statusbar.')
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

Tampilan dari kode program tersebut adalah

Tampilan Jendela GUI

Tampilan Jendela GUI

Menu GUI

Pada bagian ini akan dicontohkan GUI untuk membuat menu GUI dengan python. Kode program berikut ini merupakan kode untuk membuat bagian menu GUI.

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class App(QMainWindow):
    def __init__(self):
        super().__init__()
        self.title = 'Hello Python'
        self.left = 10
        self.top = 10
        self.width = 640
        self.height = 480
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        self.statusBar().showMessage('Message in statusbar.')

        mainMenu = self.menuBar()
        
        fileMenu = mainMenu.addMenu('File')
        editMenu = mainMenu.addMenu('Edit')
        viewMenu = mainMenu.addMenu('View')
   
        newButton = QAction(QIcon(''), 'New', self)
        newButton.setShortcut('Ctrl+N')
        newButton.setStatusTip('New application')
               
        exitButton = QAction(QIcon(''), 'Exit', self)
        exitButton.setShortcut('Ctrl+Q')
        exitButton.setStatusTip('Exit application')

        fileMenu.addAction(newButton)
        fileMenu.addAction(exitButton)

        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

Adapun keluaran dari program diatas seperti terlihat pada gambar berikut ini

Menu GUI Pada Python

Menu GUI Pada Python

Toolbar GUI

Pada bagian ini akan dicontohkan GUI untuk membuat Toolbar GUI dengan Python. Kode program berikut ini merupakan kode untuk membuat bagian toolbar GUI.

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *


class App(QMainWindow):
    def __init__(self):
        super().__init__()
        self.title = 'Hello Python'
        self.left = 10
        self.top = 10
        self.width = 640
        self.height = 480
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        self.statusBar().showMessage('Message in statusbar.')

        mainMenu = self.menuBar()
        
        fileMenu = mainMenu.addMenu('File')
        editMenu = mainMenu.addMenu('Edit')
        viewMenu = mainMenu.addMenu('View')
   
        newButton = QAction(QIcon(''), 'New', self)
        newButton.setShortcut('Ctrl+N')
        newButton.setStatusTip('New application')
               
        exitButton = QAction(QIcon(''), 'Exit', self)
        exitButton.setShortcut('Ctrl+Q')
        exitButton.setStatusTip('Exit application')

        fileMenu.addAction(newButton)
        fileMenu.addAction(exitButton)

        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

Adapun keluaran dari program diatas seperti terlihat pada gambar berikut ini

Toolbar GUI Pada Python

Toolbar GUI Pada Python

Form GUI

Pada bagian ini akan dicontohkan GUI untuk membuat form GUI dengan Python. Kode program berikut ini merupakan kode untuk membuat bagian form GUI.

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class App(QMainWindow):
    def __init__(self):
        super().__init__()
        self.title = 'Form'
        self.left = 100
        self.top = 120
        self.width = 640
        self.height = 480
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        self.statusBar().showMessage('Message in statusbar.')

        self.form_data = Form_Data()
        self.setCentralWidget(self.form_data)

        self.show()

class Form_Data(QWidget):
    def __init__(self):
        super().__init__()
        self.nameLabel = QLabel(self)
        self.nameLabel.setText('Name')
        self.nameLine = QLineEdit(self)
        self.emailLabel = QLabel(self)
        self.emailLabel.setText('Email:')
        self.emailLine = QLineEdit(self)

        self.pybutton = QPushButton('OK', self)
        self.pybutton.clicked.connect(self.clickMethod)
        self.pybutton.resize(200,32)

        self.nameLabel.move(20, 20)
        self.nameLine.move(120, 20)
        self.emailLabel.move(20, 60)
        self.emailLine.move(120, 60)

        self.pybutton.move(180, 160)

    def clickMethod(self):
        print('Your name: ' + self.nameLine.text())
        self.nameLine.setText('')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

Adapun keluaran dari program diatas seperti terlihat pada gambar berikut ini

Form GUI Pada Python

Form GUI Pada Python

Penjelasan mengenai GUI Python dapat dipelajari lebih lanjut di Python GUI.

Yulrio Brianorman
Blogger, pemiliki Onestring Lab, menulis artikel terkait teknologi informasi dan pendidikan. Web Developer, berpengalaman lebih dari 20 tahun mengembangkan berbagai aplikasi dan sistem informasi. Kerjasama : kontak saya.