cara menampilkan 2 buah tampilan dalam GUI window python menggunakan Pyside

Belajarpython - assalamualaikum wr. wb.

Jumpa lagi nih temen - temen.. Pada kesempatan kali ini saya akan mencoba untuk membahas mengenai bahasa pemrograman python lagi nih... Yang lebih tepatnya akan membahas untuk membuat tampilan GUI dari bahasa pemrograman python tersebut... Dan perlu kalian ketahui, pada postingan kali ini saya akan menggunakan bantuan dari library PySide. Oya.. PySide ini buka merupakan library bawaan dari bahasa python.. Sehingga kita harus menginstall secara terpisah dari bahasa python nya itu sendiri...

Nah sudahkah kalian menginstall library PySide ini ? Nah jika belum, kalian bisa membaca postingan saya sebelumnya.. Yang membahas mengenai cara untuk menginstall PySide ini dan taklupa juga untuk menginstall python versi 2 nya... Nah untuk membaca nya, kalian tidak perlu mencari nya.. Karena kalian bisa KLIK DISINI UNTUK MEMBACANYA. Lalu silahkan install langsung ya di komputer kalian..

Nah setelah kalian install library PySide nya, yuk langsung saja kita mulai pembahasan postingan saya kali ini... Jadi pada postingan saya kali ini, saya akan mencoba untuk membuat dua buah tampilan didalam 1 window.. Waw.. Cukup menarik ya.. Hehe... Yuk langsung saja kita simak sama - sama postingan saya kali ini... Lets check it out temen - temen...

Cara membuat dua buah tampilan dalam GUI window python menggunakan library PySide.

Nah seperti yang sudah saya katakan sebelumnya, pada postingan saya kali ini saya akan mencoba untuk menampilkan 2 buah tampilan salam satu window.. Dan perlu kalian ketahui sebelumnya, saya kan menggunakan bantua sebuah toggle button untuk mewujudkannya.. Nah gimana.. Sudah penasaran apa belum nih temen - temen... Hehe.. Yuk tanpa lama - lama lagi, langsung saja kita simak saja ya code program nya di bawah ini....


from PySide.QtCore import *
from PySide.QtGui import *

class duaWindow(QWidget):
    def __init__(self):
        QWidget.__init__(self)

        self.initUI()

    def initUI(self):
        self.layout=QVBoxLayout()

        self.cekBox()
        self.tampilan1()
        self.tampilan2()
        self.widget2.setVisible(False)
        self.setLayout(self.layout)

    def cekBox(self):
        self.checkbox=QCheckBox("Layouts")
        self.layout.addWidget(self.checkbox)
        self.checkbox.toggled.connect(self.checkbox_toggled)

    def tampilan1(self):
        self.widget1=QWidget()
        self.layout.addWidget(self.widget1)

        self.layout1=QVBoxLayout()
        self.widget1.setLayout(self.layout1)

        self.layout1.addWidget(QLabel("layout pertama"))
        self.layout1.addWidget(QTextEdit())

    def tampilan2(self):
        self.widget2=QWidget()
        self.layout.addWidget(self.widget2)

        self.layout2=QHBoxLayout()
        self.widget2.setLayout(self.layout2)

        self.layout2.addWidget(QTextEdit("layout kedua"))
        self.layout2.addWidget(QTextEdit())


    def checkbox_toggled(self, state):
        self.widget1.setVisible(not state)
        self.widget2.setVisible(state)


if __name__ == '__main__' :
    app=QApplication([])
    mw=duaWindow()
    mw.show()
    app.exec_()



Nah itu dia temen - temen code program nya... Gimana ? Cuku pendek ya .. Hehe itu menurut saya... Mungkin akan berbeda bagi kalian sendiri... Namun, saya jamin, code program di atas sudah sangat mudah untuk kalian pahami... Karena saya sudah mendesign nya khusus agar mudah untuk kalian pahami... Lalu sudah penasaran belum sama tampilan GUI yang akan di hasilkan dari program diatas ? Nah yuk langsung saja kita simak sama - sama contoh GUI yang akan di hasil kan dari program diatas.. Silahkan simak pada gambar di bawah ini ya temen - temen..





Nah itu dia temen - temen contoh screenshootnya.. Bisa kita lihat pada contoh screenshoot di atas.. Pada pada screenshoot no 1 yaitu saat di mana checkbox “layout” tidak di centang, maka yang akan tampil adalah tampilan 1... Dan pada screenshoot yang no 2 adalah saat dimana checkbox “layout” kita centang.. Maka tampilan kedua lah yang akan tampil nantinya... Gimana ? Sudah jelas kan temen - temen ? Ya saya rasa sudah cukup jelas ya...

Penjelasan dari program untuk membuat dua buah tampilan dalam GUI window python menggunakan library PySide.

Setelah saya memberikan code program, maka selanjutnya saya akan memberikan penjelasan lebih lanjut mengenai code program yang sudah saya bagikan di atas... Hal ini saya lakukan untuk lebih memperjelas mengenai apa code program yang sudah saya tulis atau saya bagikan diatas...  Dan saya harap dapat membantu kalian yang membaca program di atas... Yuk tanpa lama - lama lagi langsung saja kita simak sama - sama pembahasan saya di bawah ini....



from PySide.QtCore import *  //code ini digunakan untuk mengimport semua elemen  QtCore  yang ada di dalam library PySide.
from PySide.QtGui import *  //code ini digunakan untuk mengimport semua elemen “QtGui” yang ada pada library PySide.

class duaWindow(QWidget): //nah code ini digunakan untuk membuat sebuah class bernama “duaWindow” yang akan digunakan untuk menampung semua elemen window yang akan kita tampilkan nantinya.
    def __init__(self):  //ini merupakan sebuah construktor yang akan di jalankan ketika kita memanggil kelas “duaWIndow” ini..
        QWidget.__init__(self)  //code ini digunakan untuk memanggil Qwindow didalam library pyside.

        self.initUI()  //code ini digunakan untuk memanggil metode yang bernama “initUI” yang ada di class ini juga.

    def initUI(self):  //code ini digunakan untuk membuat sebuah metode yang saya beri nama “initUI” dan akan saya gunakan untuk membuat elemen pada window yang akan saya tampilkan nantinya.
        self.layout=QVBoxLayout()  //code ini digunakan untuk memanggil sebuah layout yang bernama QVBoxLayout dari library pyside.

        self.cekBox()  //code ini digunakan untuk memanggil sebuah metode yang bernama “cekBox” yang juga berada di dalam kelas ini juga.
        self.tampilan1()  //code ini digunakan untuk memanggil sebuah metode yang bernama “tampilan1” yang juga berada di dalam kelas ini juga.
        self.tampilan2()  //code ini digunakan untuk memanggil sebuah metode yang bernama “tampilan2” yang juga berada di dalam kelas ini juga.
        self.widget2.setVisible(False)  //code ini digunakan untuk menghilangkan “widget2” dari window kita.
        self.setLayout(self.layout)  //code ini digunakna untuk menyetel layout wiindow kita menjadi  “Box Layout”.

    def cekBox(self):  //ini merupakan sebuah metode yang bernama “cekBox” yang akan digunakan untuk menampung semua code program untuk membuat sebuah “check Box” pada window kita nantinya.
        self.checkbox=QCheckBox("Layouts")  //code ini digunakan untuk memanggil sebuah check Box dari library PySide saya beri nama “layouts” dan saya tampung ke dalam variabel “checkbox”.
        self.layout.addWidget(self.checkbox)  //code ini digunakan untuk memasukkan check box nya ke dalam window kita.
        self.checkbox.toggled.connect(self.checkbox_toggled)  //code ini digunakan untuk menghubungkan check box nya dengan metode yang bernama “checkbox_toggled”.

    def tampilan1(self):  //code ini digunakan untuk membuat sebuah metode dengan nama “tampilan1” dan saya gunakan untuk menampung setiap code program yang digunakan untuk menampilkan sebuah tampilan yang pertama.
        self.widget1=QWidget()  //code ini digunakan untuk memanggil sebuah widget dari library PySide. 
        self.layout.addWidget(self.widget1) //code ini digunakan untuk  memasukkan widget1 ini ke dalam window yang akan kita tampilkan nantinya.

        self.layout1=QVBoxLayout()  //code ini digunakan untuk memanggil sebuah layout yang bernama “QVBoxLayout” dari library PySide. Dan kemudian ditampung ke dalam variabel “layout1”
        self.widget1.setLayout(self.layout1) //code ini digunakan untuk menyetel layout pada “widget1” menjadi layout yang ada pada variabel “layout1”

        self.layout1.addWidget(QLabel("layout pertama"))  //code ini digunakan untuk memanggil sebuah label dari library pyside.
        self.layout1.addWidget(QTextEdit()) //code inilah yang bertugas untuk memasukkan teks atau label yang sudah kita panggil tadi ke dalam window.

    def tampilan2(self):  //code ini digunakan untuk membuat sebuah metode dengan nama “tampilan2” dan saya gunakan untuk menampung setiap code program yang digunakan untuk menampilkan sebuah tampilan yang kedua.
        self.widget2=QWidget())   //code ini digunakan untuk memanggil sebuah widget dari library PySide. 
        self.layout.addWidget(self.widget2) //code ini digunakan untuk  memasukkan widget2 ini ke dalam window yang akan kita tampilkan nantinya.

        self.layout2=QHBoxLayout()  //code ini digunakan untuk memanggil sebuah layout yang bernama “QHBoxLayout” dari library PySide. Dan kemudian ditampung ke dalam variabel “layout2”
        self.widget2.setLayout(self.layout2) //code ini digunakan untuk menyetel layout pada “widget1” menjadi layout yang ada pada variabel “layout2”

        self.layout2.addWidget(QTextEdit("layout kedua"))  code ini digunakan untuk menampilkan sebuah teks “layout kedua”.
        self.layout2.addWidget(QTextEdit())  //code ini digunakan untuk memasukkan “layout2” ke dalam window.


    def checkbox_toggled(self, state):  //code ini berfungsi untuk mengecek apakah check box di centang atau tidak.
        self.widget1.setVisible(not state)  //code ini berfungsi untuk menampilkan widget1 jika toggle button tidak dicentang.. Dan tidak akan di tampilkan jika toggle buttonnya kita centang.
        self.widget2.setVisible(state)  //code ini berfungsi untuk menampilkan widget2 jika toggle button dicentang.. Dan tidak akan di tampilkan jika toggle buttonnya tidak kita centang.

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

    mw=duaWindow()//code ini digunakan untuk memanggil class mywidget yang sudah kita buat tadi.
    mw.show() //code ini digunakan untuk menampilkan GUI Window yang sudah kita buat tadi.

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



Nah itu dia temen - temen penjelasan saya mengenai program yang saya bagikan pada postingan saya kali ini.. Ya semoga apa yang sudah saya bagikan tadi bisa memberikan penjelasan yang cukup untuk membuat anda paham... Sehingga kalian bisa memperaktekkan serta memanfaatkanny pada program serta projek anda nantinya... Sehingga saya tidak sia - sia saya menulis panjang lebar seperti ini.. Hhehe

Nah sekian dulu ya temen - temen pembahasan saya pada postingan kali ini... Semoga apa yang sudah saya sampaikan tadi dapat memberikan manfaat bagi kalian.. Sehingga kalia bisa bisa mendapatkan ilmu yang barokah... Oya jika ada pertanyaan, keluhan serta kritik dan saran, kalian bisa menyampaikannya di kolom komentar yang ada di bawah ini ya.. Atau bisa juga langsung menghubungi saya melalui laman hubungi kami yang telah saya sediakan pada blog ini.

Dan terimakasih sudah membaca dan berkunjung ke blog sederhana saya ini.. Oya minta tolong di share ya,.. Agar blog ku tetep hidup.. Hehe.. Sekian dulu.. Terimaksih...

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