Membuat aplikasi pembuka foto menggunakan python dan library PySide

Belajarpython - assalamualaikum wr. wb.

Jumpa lagi nih temen - temen.. Pada kesempatan kali ini, saya akan membahas mengenai program untuk membangun GUI dari bahasa pemrograman Python dan saya akan menggunakan bantuan library tambahan yang bernama PySide. Jadi, berbeda dengan libray yang sudah build in dengan bahasa python seperti tkinter, untuk menggunan PySide kita perlu menginstallnya secara terpisah dengan bahasa pythonnya.

Nah sudah kah kalian menginstall PySide nya ? Jika belum, tenang saja temen - temen.. Sebelumnya saya sudah memposting tutorial untuk menginstall library PySide ini, lengkap dengan tutorial instalasi Python 2 yang merupkan syarat untuk instalasi PySide nya. Jika kalian tertarik untuk membaaca postingan tersebut, atau ingin menginstallnya, tidak ada salahnya jika kalian MEMBACA POSTINGAN YANG SAYA MAKSUD TADI.

Nah setelah kalin install PySidenya, yuk langsung saja kita lanjut dan kembali lagi ke pembahasan postingan kita kali ini.... Jadi postingan kali ini saya akan membagikan sebuah program untuk membuat sebuah aplikasi sederhana untuk membuat sebuah aplikasi sederhana... Yaitu sebuah aplikasi sederhana untuk membuka sebuah foto.. Waw.. Cukup keren kan ? Hehe yaiyalah... Nah tanpa lama - lama lagi, yuk langsung saja kita simak sama - sama postingan saya kali ini...

Tentang aplikasi Pembuka foto yang saya buat dari GUI python menggunakan library PySide.


Aplikasi pembuka foto ini tidak hanya membuka sebuah foto sebuah foto saja.. Namun, Pada aplikasi pembuka foto sederhana ini, kita juga bisa melakukan banyak hal.. Seperti memperbesar foto hingga hingga ukuran maksimal serta memperkecil hingga ukuran maksimal juga... Selain itu, kita juga bisa print foto kita dari aplikasi ini.. Nah untu beberapa fitur yang tersedia pada aplikasi sederhana ini, kalian bisa cek di bawah ini...
  1. Membuka foto.
  2. Memperbesar hingga ukuran paling - paling maksimal.
  3. Memperkecil hingga ukuran paling - paling minimal.
  4. Menyesuaikan ukuran window.
  5. Mencetak foto yang sedang di buka.
  6. Menormalkan ukuran gambar.
  7. Menu Bar.
  8. Tool bar.
  9. Status bar.
  10. Tentang aplikasi.
  11. Tentang Qt.
  12. Tampilan patch lokasi file gambar yang sedang dibuka.
  13. Exeption eror file gambar.
  14. Stylish GUI dengan fungsi clean looks.
  15. Sangat ringan, cepat, dan responsif.
Waw.. Cukup banyak juga ya temen - temen.. Hehe.. Lalu seperti apakah penampakan dari mini aplikasi pembuka foto yang satu ini ? Yuk langsung saja kita simak sama - sama contoh screenshoot nya di bawah ini...





Nah itu dia temen - temen contoh screenshootnya.. Gimana ? Cukup keren kan.. Hehe... Ya iut menurut saya pribadi.. Dan mungkin akan berbeda dari pendapat kalian... Hehe

Code program untuk membuat aplikasi pembuka foto sederhana dengan GUI python menggunakan library PySide.

Nah setelah kita tau dan telah melihat contoh tampilan dari aplikasi yang akan saya bagikan code program nya ini, maka sekarang saatnya kita untuk mengetahui code programnya... Nah bagaimana ya code program untuk menghasil kan tampilan seperti di atas ? Lalu berapa baris code program yang kita perlukan ? Sebenarnya tidak panjang ya.. Dan juga tidak susah untuk kalian pahami... Tapi itu menurut pendapat saya sih.. Hehe nah Untuk memperjelas jawaban dari pertanyaan - pertanyaan tersebut, yuk langsung saja kita lihat sama - sama code programnya di bawah ini..


from PySide import QtCore, QtGui


class AplikasiFoto(QtGui.QMainWindow):
    def __init__(self):
        super(AplikasiFoto, self).__init__()

        #untuk membuat background
        self.foto = QtGui.QLabel()
        self.foto.setScaledContents(True)
        self.foto.setAlignment(QtCore.Qt.AlignCenter)



        #mengatur scroll
        self.scrollArea = QtGui.QScrollArea()
        self.scrollArea.setWidget(self.foto)
        self.scrollArea.setBackgroundRole(QtGui.QPalette.Light)
        self.setCentralWidget(self.scrollArea)

        self.fileName = None
        self.filters = "Image files (*.jpg)"
        #untuk memanggil fungsi
        self.perintahTombol()
        self.membuatToolBar()
        self.createMenus()

        QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('cleanlooks'))

        self.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.ukuran = QtCore.QSize(30,30)

        self.statusBar().showMessage("aplikasi siap. 100% Normal..")
        self.setWindowTitle("Image viewer Editted By : Moh. Nikmat 150411100021")
        self.setWindowIcon(QtGui.QIcon('moham.jpg'))
        self.setIconSize(self.ukuran)
        self.resize(700, 500)

    def open(self):
        fileName,_ = QtGui.QFileDialog.getOpenFileName(self, "Pilih File Gambar", QtCore.QDir.currentPath())
        if fileName:
            image = QtGui.QImage(fileName)
            if image.isNull():
                QtGui.QMessageBox.information(self, "Image Viewer",
                        "Maaf! tidak bisa membuka file --> %s." % fileName)
                return

            self.foto.setPixmap(QtGui.QPixmap.fromImage(image))
            self.foto.adjustSize()
            self.ukuranGambar = 1.0

            self.nama = fileName
            self.statusBar().showMessage(fileName)
            self.tempatTeks.setText(fileName)

            self.tombolPrint.setEnabled(True)
            self.tombolPasJendela.setEnabled(True)
            self.pengaktifTombol()


    def cetak(self):
        self.cetak = QtGui.QPrinter()
        dialog = QtGui.QPrintDialog(self.cetak, self)
        if dialog.exec_():
            QtGui.QPainter(self.cetak)

    def perbesar(self):
        self.ubahUkuran(1.25)

    def perkecil(self):
        self.ubahUkuran(0.8)

    def ukuranNormal(self):
        self.foto.adjustSize()
        self.ukuranGambar = 1.0

    def pasJendela(self):
        pasJendela = self.tombolPasJendela.isChecked()
        self.scrollArea.setWidgetResizable(pasJendela)
        if not pasJendela:
            self.ukuranNormal()
        self.pengaktifTombol()

    def ubahUkuran(self, factor):
        self.ukuranGambar *= factor
        self.foto.resize(self.ukuranGambar * self.foto.pixmap().size())

    def delet(self):
        self.foto.setPixmap(None)
        self.statusBar().showMessage("aplikasi siap. 100% Normal..")
        self.tempatTeks.setText('')
        self.tombolPrint.setEnabled(False)
        self.tombolPasJendela.setEnabled(False)
        self.tombolPerbesar.setEnabled(False)
        self.tombolPerkecil.setEnabled(False)
        self.tombolUkuranNormal.setEnabled(False)

    def tentang(self):
        QtGui.QMessageBox.about(self, "Tentang Aplikasi ini",
                "Aplikasi ini merupakan APLIKASI PEMBUKA FOTO "
                " yang saya buat dengan harapan agar mendapatkan nilai yang sempurna. hehe..."
                "Walaupun aplikasi ini merupakan apilkasi sederhana,"
                " namun aplikasi ini memiliki kelebihan seperti : "
                "   VERY MAXIMUM ZOOM IN DAN ZOOM OUT"
                "  serta kita dapat langsung print fotonya  ."
                " TTD --> "
                "   MOH. NIKMAT 150411100021"
                )

    def perintahTombol(self):
        self.tombolOpen = QtGui.QAction(QtGui.QIcon("open.png"),"&Open", self, triggered=self.open)
        self.tombolPrint = QtGui.QAction(QtGui.QIcon("print.png"),"&Print", self, enabled=False, triggered=self.cetak)
        self.tombolExit = QtGui.QAction(QtGui.QIcon("close.png"),"E&xit", self, triggered=self.close)
        self.tombolPerbesar = QtGui.QAction(QtGui.QIcon("perbesar.png"),"&In", self, enabled=False, triggered=self.perbesar)
        self.tombolPerkecil = QtGui.QAction(QtGui.QIcon("perkecil.png"),"&Out", self, enabled=False, triggered=self.perkecil)
        self.tombolUkuranNormal = QtGui.QAction(QtGui.QIcon("normal.png"),"&Normal", self, enabled=False, triggered=self.ukuranNormal)
        self.tombolPasJendela = QtGui.QAction(QtGui.QIcon("fittowindow.png"),"&Fit", self, enabled=False, checkable=True, triggered=self.pasJendela)
        self.tomboltentang = QtGui.QAction(QtGui.QIcon("about.png"),"&About", self, triggered=self.tentang)
        self.tombolAboutQt = QtGui.QAction(QtGui.QIcon("aboutQT.png"),"About &Qt", self, triggered=QtGui.qApp.aboutQt)
        self.hapus = QtGui.QAction("Hapus",self, triggered =self.delet)
        self.tombolSave = QtGui.QAction("save",self, triggered =self.saveFile)

    def membuatToolBar(self):
        self.toolbar = self.addToolBar('')
        self.toolbar.addAction(self.tombolOpen)
        self.toolbar.addAction(self.tombolPrint)
        self.toolbar.addSeparator()
        self.toolbar.addAction(self.tombolPerbesar)
        self.toolbar.addAction(self.tombolPerkecil)
        self.toolbar.addAction(self.tombolUkuranNormal)
        self.toolbar.addAction(self.tombolPasJendela)
        self.toolbar.addSeparator()
        self.toolbar.addAction(self.tomboltentang)
        self.toolbar.addAction(self.tombolAboutQt)
        self.toolbar.addSeparator()
        self.toolbar.addAction(self.tombolExit)

        self.toolbar.addSeparator()
        self.tempatTeks = QtGui.QLineEdit()
        self.toolbar.addWidget(self.tempatTeks)
        self.toolbar.addAction(self.hapus)


        self.t = QtGui.QToolBar()
        self.t.addSeparator()

    def saveFile(self):
        if self.fileName == None or self.fileName == '':
            self.fileName, self.filterName = QtGui.QFileDialog.getSaveFileName(self, filter=self.filters)
        if (self.fileName != ''):
            file = open(self.fileName, 'w')
            file.fileno()
            self.statusBar().showMessage("File saved", 2000)

    def createMenus(self):
        self.fileMenu = QtGui.QMenu("&File", self)
        self.fileMenu.addAction(self.tombolOpen)
        self.fileMenu.addAction(self.tombolPrint)
        self.fileMenu.addAction(self.tombolSave)
        self.fileMenu.addSeparator()
        self.fileMenu.addAction(self.tombolExit)

        self.viewMenu = QtGui.QMenu("&View", self)
        self.viewMenu.addAction(self.tombolPerbesar)
        self.viewMenu.addAction(self.tombolPerkecil)
        self.viewMenu.addAction(self.tombolUkuranNormal)
        self.viewMenu.addSeparator()
        self.viewMenu.addAction(self.tombolPasJendela)

        self.helpMenu = QtGui.QMenu("&Help", self)
        self.helpMenu.addAction(self.tomboltentang)
        self.helpMenu.addAction(self.tombolAboutQt)

        self.menuBar().addMenu(self.fileMenu)
        self.menuBar().addMenu(self.viewMenu)
        self.menuBar().addMenu(self.helpMenu)

    def pengaktifTombol(self):
        self.tombolPerbesar.setEnabled(not self.tombolPasJendela.isChecked())
        self.tombolPerkecil.setEnabled(not self.tombolPasJendela.isChecked())
        self.tombolUkuranNormal.setEnabled(not self.tombolPasJendela.isChecked())


if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)
    AplikasiFoto = AplikasiFoto()
    AplikasiFoto.show()
    sys.exit(app.exec_())





nah itu dia temen – temen code programnya.. cukup panjang ya..  ya lumayan lah.. terhitung ada lebih dari 180 baris code program. Namun tidak sampai 200 baris kok tenang aja.. dan code programnya juga sangat mudah untuk kalian pahami.. karena saya mengkombinasikan code program diatas dengan variable berbahasa Indonesia yang dapat membantu kalian untuk membedakan antara sintak dan variable yang saya buat sendiri. Oya.. contoh screenshoot dari program diatas, kan saya sudah kasik kan.. nah untuk menghasilkan tampilan seperti pada contoh screenshoot di atas, kalian bias KLIK DISINI. Karena, apabila langsung mengcopy file di atas, maka saya rasa tampilannya tidak akan sama.. karena code program tersebut memanggil sebuah gambar untuk di jadikan sebagai icon. Oleh sebabnya saya memberikan kumpulan file yang di perlukan untuk membuatnya mirip seperti pada screenshoot diatas. Kalian juga bisa unduh di bawah ini.
Download code program + file foto iconnya secara lengkap.

Penjelasan code program aplikasi sederhana pembuka foto dari Python menggunakan library PySide.

Nah sekarang saya akan mencoba untuk menjelaskan code program yang sudah saya bagikan tadi. Namun, karena code programnya panjang, maka saya tidak akan menjelaskannya satu persatu.. Akan tetapi saya akan menjelaskannya tiap metode yang ada dalam class nya.. Nah lalu seperti apakah penjelasan saya ini ? Yuk langsung saja kita simaka sama - sama pembahasan dan penjelasan saya mengenai code program di atas... Silahkan di simak di bawah ini ya..


from PySide import QtCore, QtGui //code ini digunakan untuk mengimport QtCore dan QtGui dari Library PySide.


class AplikasiFoto(QtGui.QMainWindow):  //code ini digunakan untuk membuat sebuah class yang bernama “aplikasiFoto” yang akan saya gunakan untuk menampung semua code program untuk membuat aplikasi nya.

    def __init__(self):
        super(AplikasiFoto, self).__init__()

        #untuk membuat background
        self.foto = QtGui.QLabel()
        self.foto.setScaledContents(True)
        self.foto.setAlignment(QtCore.Qt.AlignCenter)



        #mengatur scroll
        self.scrollArea = QtGui.QScrollArea()
        self.scrollArea.setWidget(self.foto)
        self.scrollArea.setBackgroundRole(QtGui.QPalette.Light)
        self.setCentralWidget(self.scrollArea)

        self.fileName = None
        self.filters = "Image files (*.jpg)"
        #untuk memanggil fungsi
        self.perintahTombol()
        self.membuatToolBar()
        self.createMenus()

        QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('cleanlooks'))

        self.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.ukuran = QtCore.QSize(30,30)

        self.statusBar().showMessage("aplikasi siap. 100% Normal..")
        self.setWindowTitle("Image viewer Editted By : Moh. Nikmat 150411100021")
        self.setWindowIcon(QtGui.QIcon('moham.jpg'))
        self.setIconSize(self.ukuran)
        self.resize(700, 500)


Code - code program di atas digunakan sebagai proses awal dari aplikasi ini.. Seperti mengubah judul, memanggil label, memanggil metode, mengubah ukuran icon, mengubah ukuran, mengubah design tampilannya dengan fungsi cleanlooks dan masih banyak lagi. Silahkan baca satu persatu agar kalian bisa paham.


    def open(self):
        fileName,_ = QtGui.QFileDialog.getOpenFileName(self, "Pilih File Gambar", QtCore.QDir.currentPath())
        if fileName:
            image = QtGui.QImage(fileName)
            if image.isNull():
                QtGui.QMessageBox.information(self, "Image Viewer",
                        "Maaf! tidak bisa membuka file --> %s." % fileName)
                return

            self.foto.setPixmap(QtGui.QPixmap.fromImage(image))
            self.foto.adjustSize()
            self.ukuranGambar = 1.0

            self.nama = fileName
            self.statusBar().showMessage(fileName)
            self.tempatTeks.setText(fileName)

            self.tombolPrint.setEnabled(True)
            self.tombolPasJendela.setEnabled(True)
            self.pengaktifTombol()

Sesuai dengan nama metodenya, yaitu Open yang tentu saja berfungsi untuk membuka sebuah file gambar dai komputer kita. Namun, tidak hanya itu, dalam metode ini juga ada program yang memanggil sebuah metode dan juga mengubah agar tombol zoom in dan zoom out serta print agar hidup. Yang sebelumnya mati karena tidak ada file gambar yang dibuka.




    def cetak(self):
        self.cetak = QtGui.QPrinter()
        dialog = QtGui.QPrintDialog(self.cetak, self)
        if dialog.exec_():
            QtGui.QPainter(self.cetak)
 Metode di atas digunakan untuk mencetak filenya.. Code programnya terlihat pendek karena kita hanya memanggil printer yang tersedia dalam sistem operasi kita saja. 


    def perbesar(self):
        self.ubahUkuran(1.25)
Metode ini digunakan untuk memperbesar ukuran gambarnya. Terlihat satu bari program karena kita memanggil sebuah metode.


    def perkecil(self):
        self.ubahUkuran(0.8)
Sesuai dengan namanya, code diatas digunakan untuk memperkecil gambarnya... Sama seperti metode pembesar, perkercil ini hanya memanggil 
Sebuah metode saja.

    def ukuranNormal(self):
        self.foto.adjustSize()
        self.ukuranGambar = 1.0
Code ini digunakan untuk mengubah ukuran gambar kita menjadi normal kembali.


    def pasJendela(self):
        pasJendela = self.tombolPasJendela.isChecked()
        self.scrollArea.setWidgetResizable(pasJendela)
        if not pasJendela:
            self.ukuranNormal()
        self.pengaktifTombol()
Code ini digunakan untuk mengubah ukuran gambar yang sedang digunakan agar ukuran gambarnya pas dengan ukuran window kita. Namun, dalam metode tersebut juga memanggil sebuah metode yang bernama “pengaktifTombol”


    def ubahUkuran(self, factor):
        self.ukuranGambar *= factor
        self.foto.resize(self.ukuranGambar * self.foto.pixmap().size())
Metode diatas merupakan metode yang di panggil oleh metode perbesar dan perkecil. Jadi bisa kita katakan metode diatas digunakan untuk mengubah ukuran gambar yang sedang kita tampilkan.


    def delet(self):
        self.foto.setPixmap(None)
        self.statusBar().showMessage("aplikasi siap. 100% Normal..")
        self.tempatTeks.setText('')
        self.tombolPrint.setEnabled(False)
        self.tombolPasJendela.setEnabled(False)
        self.tombolPerbesar.setEnabled(False)
        self.tombolPerkecil.setEnabled(False)
        self.tombolUkuranNormal.setEnabled(False)
Metode diatas digunakan sebagai perintah dari tombol hapus yang ada di paling kanan toolbar. Silahkan cek pada screenshoot untuk lebih jelasnya ya temen temen.


    def tentang(self):
        QtGui.QMessageBox.about(self, "Tentang Aplikasi ini",
                "Aplikasi ini merupakan <b>APLIKASI PEMBUKA FOTO </b>"
                " yang saya buat dengan harapan agar mendapatkan nilai yang sempurna. hehe..."
                "Walaupun aplikasi ini merupakan apilkasi sederhana,"
                " namun aplikasi ini memiliki kelebihan seperti : "
                "   <b>VERY MAXIMUM ZOOM IN DAN ZOOM OUT</b>"
                "  serta kita dapat langsung print fotonya  ."
                " TTD --> "
                " <b>  MOH. NIKMAT 150411100021</b>"
                )
Metode diatas saya gunakan sebagai isi dari menu about. Sehingga akan menampilkan teks yang sudah saya tulis seperti diatas.. Kalian bisa mengubahnya sesuka hati kalian..

    def perintahTombol(self):
        self.tombolOpen = QtGui.QAction(QtGui.QIcon("open.png"),"&Open", self, triggered=self.open)
        self.tombolPrint = QtGui.QAction(QtGui.QIcon("print.png"),"&Print", self, enabled=False, triggered=self.cetak)
        self.tombolExit = QtGui.QAction(QtGui.QIcon("close.png"),"E&xit", self, triggered=self.close)
        self.tombolPerbesar = QtGui.QAction(QtGui.QIcon("perbesar.png"),"&In", self, enabled=False, triggered=self.perbesar)
        self.tombolPerkecil = QtGui.QAction(QtGui.QIcon("perkecil.png"),"&Out", self, enabled=False, triggered=self.perkecil)
        self.tombolUkuranNormal = QtGui.QAction(QtGui.QIcon("normal.png"),"&Normal", self, enabled=False, triggered=self.ukuranNormal)
        self.tombolPasJendela = QtGui.QAction(QtGui.QIcon("fittowindow.png"),"&Fit", self, enabled=False, checkable=True, triggered=self.pasJendela)
        self.tomboltentang = QtGui.QAction(QtGui.QIcon("about.png"),"&About", self, triggered=self.tentang)
        self.tombolAboutQt = QtGui.QAction(QtGui.QIcon("aboutQT.png"),"About &Qt", self, triggered=QtGui.qApp.aboutQt)
        self.hapus = QtGui.QAction("Hapus",self, triggered =self.delet)
        self.tombolSave = QtGui.QAction("save",self, triggered =self.saveFile)

Metode di atas digunakan sebagai pembuatan semua perintah yang ada di dalam aplikasi ini.. Baik pada menu bar maupun tool barnya...



    def membuatToolBar(self):
        self.toolbar = self.addToolBar('')
        self.toolbar.addAction(self.tombolOpen)
        self.toolbar.addAction(self.tombolPrint)
        self.toolbar.addSeparator()
        self.toolbar.addAction(self.tombolPerbesar)
        self.toolbar.addAction(self.tombolPerkecil)
        self.toolbar.addAction(self.tombolUkuranNormal)
        self.toolbar.addAction(self.tombolPasJendela)
        self.toolbar.addSeparator()
        self.toolbar.addAction(self.tomboltentang)
        self.toolbar.addAction(self.tombolAboutQt)
        self.toolbar.addSeparator()
        self.toolbar.addAction(self.tombolExit)

        self.toolbar.addSeparator()
        self.tempatTeks = QtGui.QLineEdit()
        self.toolbar.addWidget(self.tempatTeks)
        self.toolbar.addAction(self.hapus)


        self.t = QtGui.QToolBar()
        self.t.addSeparator()

Code ini digunakan untuk membuat setiap toolbar yang ada di dalam aplikasi ini. 


    def saveFile(self):
        if self.fileName == None or self.fileName == '':
            self.fileName, self.filterName = QtGui.QFileDialog.getSaveFileName(self, filter=self.filters)
        if (self.fileName != ''):
            file = open(self.fileName, 'w')
            file.fileno()
            self.statusBar().showMessage("File saved", 2000)

Code ini digunakan untuk menyimpan file. Namun harus saya akui, saya belum bisa meyimpan file nya. Hehe maaf ya.. Untuk fungsi yang satu ini saya gagal..


    def createMenus(self):
        self.fileMenu = QtGui.QMenu("&File", self)
        self.fileMenu.addAction(self.tombolOpen)
        self.fileMenu.addAction(self.tombolPrint)
        self.fileMenu.addAction(self.tombolSave)
        self.fileMenu.addSeparator()
        self.fileMenu.addAction(self.tombolExit)

        self.viewMenu = QtGui.QMenu("&View", self)
        self.viewMenu.addAction(self.tombolPerbesar)
        self.viewMenu.addAction(self.tombolPerkecil)
        self.viewMenu.addAction(self.tombolUkuranNormal)
        self.viewMenu.addSeparator()
        self.viewMenu.addAction(self.tombolPasJendela)

        self.helpMenu = QtGui.QMenu("&Help", self)
        self.helpMenu.addAction(self.tomboltentang)
        self.helpMenu.addAction(self.tombolAboutQt)

        self.menuBar().addMenu(self.fileMenu)
        self.menuBar().addMenu(self.viewMenu)
        self.menuBar().addMenu(self.helpMenu)

Metode diatas digunakan untuk membuat menubar beserta submenu - submenu yang ada pada setiap menubar.


    def pengaktifTombol(self):
        self.tombolPerbesar.setEnabled(not self.tombolPasJendela.isChecked())
        self.tombolPerkecil.setEnabled(not self.tombolPasJendela.isChecked())
        self.tombolUkuranNormal.setEnabled(not self.tombolPasJendela.isChecked())
Metode diatas berguna untuk mengaktifkan atau mematikan tombol zoom in dan zoom out serta tombol ukuran normal.




if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)
    AplikasiFoto = AplikasiFoto()
    AplikasiFoto.show()
    sys.exit(app.exec_())

Code di atas digunakan untuk memanggil class “pembukaFoto” yang sudah kita buat sebelumnya tadi.







Nah itu dia temen - temen penjelasan saya pada code program aplikai  pembuka foto pada postingan saya kali ini... Mohon maaf ya saya tidak bisa menjelaskan satu persatu atau baris perbari dari code program diatas.. Namun, jika ada kesusahan untuk memahami code programnya, silahkan tanyakan di kolom komentar ya.. Insyaallah saya akan menjawab secepat yang saya bisa.. Namun selain menggunakan kolom komentar, kalian bisa menggunakan laman hubungi kami yang sudah saya sediakan di blog iini.. Dan ada di footer blog ini..

Oke, sekian dulu ya temen - temen pembahasan saya pada postingan kali ini.. Semoga apa yang sudah saya sampaikan tadi dapat memberikan manfaat bagi kalian yang membaca postingan saya kali ini... Dan jangan lupa juga ya minta tolong untuk di share ke temen - temen sosial media kalian ya... Bantu blog saya agar tetep hidup.. Hehe

Oya.. Terimakasih sudah berkunjung serta membaca postingan saya yang satu ini.. Terutama bagi kalian yang sudah share postingan saya ini... Dan mohon maaf ya apabila ada kesalahan, kekurangan maupun ketidak sempurnaan dalam hal penyajian maupun isi nya... Maklum saya masih belajar.. Hehe... Silahkan sampaikan keluhan atau kritik dan saran pada kolom komentar maupun laman hubungi kami yang sudah saya sediakan di blog ini ya..
Oke sampai jumpa di postingan - postingan saya selanjutnya.... Terimakasih.. Sekian..

Wassalamualaikum wr. wb.
Previous
Next Post »
Thanks for your comment