PyQt5, QLineEdit

Kategori: Python , 09 Eylül 2019 , JanFranco


PyQt5 yazı serisine devam ediyoruz, bu yazımda forma bir yazı alanı ekleyeceğiz ve bu yazı alanını kullanacağız. PyQt5 kütüphanesini nasıl kullanılacağını artık anladık, bu nedenle satır satır açıklamak yerine tüm kodu verip kısa bir açıklama yapacağım:


import sys
from PyQt5 import QtWidgets


class Window(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        self.textBox = QtWidgets.QLineEdit()
        self.clearButton = QtWidgets.QPushButton("Clear")
        self.printButton = QtWidgets.QPushButton("Print")

        v_box = QtWidgets.QVBoxLayout()
        v_box.addWidget(self.textBox)
        v_box.addWidget(self.clearButton)
        v_box.addWidget(self.printButton)
        v_box.addStretch()

        self.setLayout(v_box)
        self.printButton.clicked.connect(self.click)
        self.clearButton.clicked.connect(self.click)
        self.show()

    def click(self):
        sender = self.sender()

        if sender.text() == "Clear":
            self.textBox.clear()
        elif sender.text() == "Print":
            print(self.textBox.text())


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = Window()
    sys.exit(app.exec_())
Burada QLineEdit sınıfını kullanarak bir yazı alanı, textbox oluşturduk. Clear ve Print yazıları bulunan iki buton tanımladık. Clear butonu textbox'taki yazıyı temizleyecek, Print butonu textbox'taki yazıyı konsola basacak. Bu işlemler için click adında bir method tanımladık ve iki butonla birleştirdik. sender() methodu ile fonksiyonu hangi butonun çağırdığını bulduk. Eğer çağıran objenin text'i "Clear" ise QLineEdit sınıfının clear() methodu ile textbox'ı temizle, eğer çağıran objenin text'i "Print" ise textbox'taki texti konsola print() fonksiyonu ile yazdır.


Sonraki Yazı: PyQt5, User Login
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın