cara membuat pembuka file di GUI window python menggunakan PySide

Belajarpython – assalamualaikum  wr. wb.

Jumpa lagi nih temen – temen… pada postingan saya kali ini, saya akan mencoba untuk membahas mengenai Bahasa pemrograman python nih.. jadi  sesuai dengan judul dari postingan saya kali ini, saya akan mencoba untuk membuat atau lebih tepatnya membagikan code program untuk memanggil sebuah window atau dialog yang berguna untuk membuka sebuah file seperti file teks dan gambar… nah untuk membuat GUI python ini, saya akan menggunakan library dari PySide…

Nah sudah taukah kalian apa yang di sebut library PySide ? dan sudah kah kalian install ? nah jika belum, kalian bisa membaca POSTINGAN SAYA DISINI. Postingan tersebut membahas mengenai cara menginstall python 2.7 dan dilanjutkan dengan proses instalas PySide nya.. nah setelah kalian install, yuk mari saya ajak kalian untuk menyimak postingan saya yang satu ini… let’s check it out guys…

Cara menampilkan “open dialog” atau membuka file teks pada GUI window python menggunakan PySide.

Nah seperti yang sudah saya katakana sebelumnya, saya akan mencoba untuk membagikan cara untuk membuka sebuah file pada computer kalian. Dan yang akan saya coba untuk buka kali ini adalah file yang memiliki teks. Sehingga, selain kalian bisa membuka nya, kalian juga bisa melihat teks pada window yang akan kita tampilkan nantinya. Gimana ? cukup menarik kan ? nah lalu seperti apa ya code program nya.. apakah panjang ? atau pendek ? yuk langsung saja kita simak sama – sama code programnya di bawah ini..

from PySide import QtGui


class pembukaFile(QtGui.QMainWindow):
    
    def __init__(self):
        super(pembukaFile, self).__init__()
        
        self.initUI()
        
    def initUI(self):
        self.kolom()
        self.menu()
        
        self.setGeometry(300, 300, 350, 300)
        self.setWindowTitle('pembuka file teks')
        self.show()
        
    def kolom(self):
        self.teksEditor = QtGui.QTextEdit()
        self.setCentralWidget(self.teksEditor)
        self.statusBar()

    def menu(self):
        bukaFile = QtGui.QAction(QtGui.QIcon('open.png'), 'Open', self)
        bukaFile.setShortcut('Ctrl+O')
        bukaFile.setStatusTip('Open new File')
        bukaFile.triggered.connect(self.showDialog)

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&File')
        fileMenu.addAction(bukaFile)
        
        
        
    def showDialog(self):

        fname, _ = QtGui.QFileDialog.getOpenFileName(self, 'Open file',
                    '/home')
        
        f = open(fname, 'r')
        
        with f:
            data = f.read()
            self.teksEditor.setText(data)
                                
        
if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)
    ex = pembukaFile()
    sys.exit(app.exec_())



Nah itu dia temen - temen code programnya.. Cukup panjang apa cukup pendek ya program di atas ? Hehe kalian jawab sesuai perasaan kalian saja ya temen - temen.. Tapi tenang saja.. Saya sudah membuat code diatas menjadi sekomunikatif mungkin agar kalian bisa memahaminya dengan mudah... Oya.. Lalu seperti apakah tampilan yang akan dihasilkan ketika program di atas kita jalankan ? Nah yuk langsung saja lihat contoh screenshoot GUI yang di hasilkan di bawah ini...





Nah itu dia temen - temen  contoh screenshoot GUI yang di hasilkan dari program di atas.. Gimana ? Sudah cukup jelaskan ? Ya bisa kita lihat dari 3 contoh screenshoot di atas... Yang pertama adalah tampilan yang akan muncul pertama kali ketika program nya kita jalankan... Kemudian, yang kedua adalah tampilan window dialog yang di gunakan untuk memilih file nya.. Dan yang terakhir adalah tampilan ketika kita sudah memilih file teks nya tadi... Giman jelaskan ? Ya saya rasa sudah jelas ya...


Penjelasan code program untuk menampilkan “open dialog” atau membuka file teks pada GUI window python menggunakan PySide.

Nah seperti postingan - postingan saya sebelumnya, setelah saya membagikan sebuah code program, maka selanjutnya saya akan mencoba untuk membuat sebuah penjelasan dari setiap baris code program yang sudah saya bagikan sebelumnya.. Hal ini saya lakukan untuk lebih mempermudah lagi dalam proses pemahaman kalian nantinya... Yuk langsung saja kita simak sama - sama pembahasan atau penjelasan saya di bawah ini...


from PySide import QtGui  //code ini digunakan untuk mengimport QtGui” dari library PySide.

class pembukaFile(QtGui.QMainWindow):  //code ini merupakan class yang akan saya gunakan untuk membuat GUI dan semua komponen komponennya.

    def __init__(self):  //ini merupakan sebuah metode yang harus ada dan akan secara otomatis di jalan kan dan akan di jalanakan pertama kali ketika class ini dipanggil.
        super(pembukaFile, self).__init__()  //code ini digunakan untuk membuat class pembukaFile” ini menjadi sebuah GUI.

        self.initUI() //code ini digunakan untuk memanggil metode yang bernama initUI.

    def initUI(self):  //ini merupakan sebuah metode yang akan saya gunakan untuk menampung code program pembuat componen - componen pada windownya.
        self.kolom()  //code ini digunakan untuk memanggil metode yang bernama kolom.
        self.menu()//code ini digunakan untuk memanggil metode yang bernama menu.

        self.setGeometry(300, 300, 350, 300)  //code ini digunakan untuk mengatur ukuran window yang akan kita tampilkan menjadi 350x300” pixel dan dengan windownya akan di tampilkan pada posisi 300x300” pixel pada layar kita.
        self.setWindowTitle('pembuka file teks')  //code ini digunakan untuk mengubah judul window nya menjadi pembuka file teks”  tentu saja kalian bisa mengubahnya sesuka hati kalian.
        self.show()  //code ini digunakan untuk menampilkan window yang sudah kita buat tadi.

    def kolom(self):  //code ini merupakan metode yang akan saya gunakan untuk menampung code program untuk pembuatan sebuah kolom teks.
        self.teksEditor = QtGui.QTextEdit()  //code ini digunakan untuk memanggil sebuah teks editor dari library PySide. Lalu saya tampung dalam variabel teksEditor.
        self.setCentralWidget(self.teksEditor)  //code ini digunakan untuk menampilkan widget nya di tengah window kita.
        self.statusBar()  //code ini digunakan untuk menampilkan sebuah status bar.

    def menu(self):  //code ini digunakan untuk membuat sebuah metode yang bernama menu” dan saya gunakan untuk menampung code program untuk membuat menu bar.
        bukaFile = QtGui.QAction(QtGui.QIcon('open.png'), 'Open', self) //code ini digunakan untuk membuat sebuah action atau perintah dengan nama open.
        bukaFile.setShortcut('Ctrl+O')  //code ini digunakan untuk membuat sebuah shortcut pada keyboard dengan combinasi ctrl+o. Pada action buka file
        bukaFile.setStatusTip('Open new File')  //code ini digunakan untuk mengubah teks pada statusbar menjadi open new file”  ketika pointer menyentuh action bukafile” ini.
        bukaFile.triggered.connect(self.showDialog)  //nah code ini digunakan untuk menghubungkan action nya ke metode showDialog

        menubar = self.menuBar()  //code ini digunakan untuk memanggil sebuah menubar dari dalam library PySide. Lalu saya simpan dalam variabel menubar
        fileMenu = menubar.addMenu('&File')  //code ini digunakan untuk menambahkan sebuah menu yang bernama file
        fileMenu.addAction(bukaFile)  //code ini digunakan menghubungkan menu ini ke perintah yang bernama bukaFile.

    def showDialog(self):  //code ini merupakan sebuah metode yang berfungsi sebagai penampung code program untuk menampilkan sebuah window font editnya.
        fname, _ = QtGui.QFileDialog.getOpenFileName(self, 'Open file',
                    '/home') //code ini digunakan untuk memanggil file dialog dari pyside lalu menyimpanya ke dalam variabel fname

        f = open(fname, 'r') //code ini digunakan untuk menampilkan dialog nya. Yaitu window untuk mengedit fontnya.

        with f: //code ini digunakan untuk mengecek apakah kita sudah memilih suatu file.
            data = f.read()   //code ini digunakan untuk memembaca setiap teks yang ada di dalam file yang sudah kita pilih tadi. Lalu saya menyimpannya kedalam variabel data
            self.teksEditor.setText(data)  //code ini digunakan untuk memasukkan teks yang sudah kita baca tadi ke dalam kolom komentar yang berada didalam variabel teksEditor.

if __name__ == '__main__':  //ini merupakan penyeleksian yang akan menanyakan apakah program ini dipanggil atau tidak.
    import sys  //code ini digunakann untuk mengimpor sys
    app = QApplication(sys.argv) //code ini merupakan code wajib yang harus ada.

    ex = pembukaFile()   //code ini digunakan untuk memanggil class mywidget yang sudah kita buat tadi.

   sys.exit(app.exec_()) //code ini digunakan agar window kita tidak langsung close saat kita panggil.

Nah itu dia temen – temen penjelasan saya dari program di atas… gimana sudah cukup jelaskan ? atau masih ada yang bingung ? ya silahkan di pahami ya… Karena saya sudah mengupayakan penjelasaannya sejelasa mungkin dan sekomunikatif mungkin.. dan sekarang waktunya kalian untuk memahami nya lebih mendalam… saya yakin kalian bisa paham.. hehe

Oya.. jika ada yang masih bingung dan memiliki pertanyaan atau bakan memiliki kritik dan saran mengenai postingan atau blog ini, kalian bisa menyampaikannya pada kolom komentar di bawah.. atau melalui laman Hubungi kami yang sudah saya sediakan di blog saya ini… dan terimakasih sudah membaca dan meluangkan waktu  untuk berkunjung dan membaca postingan saya… jangan lupa ya di bagikan atau share postingan atau blog ini ke temen kalian ya…
Mohon maaf apabila ada salah kata, kekurangan atau kesalahan.. mohon maklum ya.. Karena saya masih belajar…. Terimakasih.. sekian

Wassalamualaikum wr. wb.

Previous
Next Post »
Thanks for your comment