PYQT Denemeleri-6

Pardus-Linux.org | Wiki sitesinden

Git ve: kullan, ara

Konu başlıkları

Giriş

Burada hazırlayacağımız python uygulaması ile 4 işlem yapan kıytırıktan bir hesap makinesi yapacağız. :)

Arayüzün Oluşturulması

  • Qt4 Tasarımcı ile oluşturacağımız arayüz penceresini oluşturalım. "Main Window" seçeneğini seçip "oluştur" düğmesine basın.

Resim:Resim-1.png


  • Qt4 Tasarımcı'nın sol kısmında bulunan "Parçacık Kutusu"ndan "Push Button" simgesini ekranımıza sürükleyerek bırakın. 5 tane düğme sürükle bırak yaptıktan sonra üstlerine çift tıklayarak yazılarını değişebilirsiniz.

Resim:Hesapla_1.png Resim:Hesapla_2.png


  • Qt4 Tasarımcı'nın sol kısmında bulunan "Label" simgeli nesneyi penceremize sürükleyin ve üzerine çift tıklayarak yazısını değişin.Sayıların yazılacağı alan ile sonuç arasına bir ayırıcı çizgi koymak için; "Horizontal Line" nesnesini penceremize sürükleyip uygun bir şekilde yerleştirmelisiniz.

Resim:Hesapla_3.png Resim:Hesapla_4.png


  • Yine Qt4 Tasarımcı'nın sol kısmında bulunan "Line Edit" nesnesini penceremize sürükleyip uygun biçimde döşeyin.Arayüzümüz hazır sayılır son işlemimiz arayüzde bulunan düğmelere değer atamakta... Bunun için "Sinyal/Slot Düzenleyicide" ilgili ayarlamaları yapmak gerekiyor. Resimdeki gibi "artı" simgesine 5 kez tıklayın ve yine resimdeki gibi değerler girin. Değerleri fare ile tıklayarak girmeniz gerekiyor.

Resim:Hesapla_5.png Resim:Hesapla_6.png


  • Qt4 Tasarımcı ile işimiz burada bitti. "Kaydet" simgesine tıklayalım ve masaüstüne istediğimiz ad ile kaydedelim. kaydetme bittikten sonra Qt4 Tasarımcı'yıda kapatın ve masaüstüne gelin.

Resim:Hesapla_7.png

Yivlerin Yapılandırılması

  • Uçbirimi (konsolu) açın ve resimdeki gibi önce "cd desktop" komutunu verip masaüstüne gelmesini sağlayın.Ardından "pyuic4 hesapeder.ui -o hesapeder.py" komutunu vererek python dosyamızı oluşturmasını isteyelim. Masaüstünde python dosyamız oluşmuşsa sorun yoktur, öyle ise uçbirimi kapatalım diğer işlemlerimize geçelim.

Resim:Hesapla_8.png


  • Oluşturulan python dosyasını sevdiğiniz bir metin düzenleyici ile açın ve resimdeki gibi seçili duruma getirdiğim kısmı aşağıdaki yivlerle (kodlarla) değişin. Buradaki amacımız oluşturduğumuz arayüze hesap makinesi için işlev(fonksiyon) atamaktır.
Kod:
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtCore, QtGui

class hesap:
    def __init__(self, ui):
        self.ui = ui
    def topla(self):
        toplam = float(ui.lineEdit.text()) + float(ui.lineEdit_2.text())
        ui.lineEdit_3.setText(str(toplam))
    def cikar(self):
        toplam = float(ui.lineEdit.text()) - float(ui.lineEdit_2.text())
        ui.lineEdit_3.setText(str(toplam))
    def carp(self):
        toplam = float(ui.lineEdit.text()) * float(ui.lineEdit_2.text())
        ui.lineEdit_3.setText(str(toplam))
    def bol(self):
        toplam = float(ui.lineEdit.text()) / float(ui.lineEdit_2.text())
        ui.lineEdit_3.setText(str(toplam))

Resim:Hesapla_9.png


  • Bu yivleride python dosyamızın en alt kısmına yapıştırın.
Kod:
app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)

window.show()
sys.exit(app.exec_())

Resim:Hesapla_10.png


  • Son işlem olarak ; python dosyamızda aşağıdaki kısmı bulup bir sonraki ile değişin ve dosyayı kaydedip kapatın.

Bul

Kod:
        self.retranslateUi(MainWindow)
        QtCore.QObject.connect(self.pushButton_2,QtCore.SIGNAL("clicked()"),MainWindow.close)
        QtCore.QObject.connect(self.pushButton_3,QtCore.SIGNAL("clicked()"),MainWindow.close)
        QtCore.QObject.connect(self.pushButton_4,QtCore.SIGNAL("clicked()"),MainWindow.close)
        QtCore.QObject.connect(self.pushButton_5,QtCore.SIGNAL("clicked()"),MainWindow.close)
        QtCore.QObject.connect(self.pushButton_6,QtCore.SIGNAL("clicked()"),MainWindow.close)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

Bununla Değiş

Kod:
        self.retranslateUi(MainWindow)
	self.hesap = hesap(self)
        QtCore.QObject.connect(self.pushButton,QtCore.SIGNAL("clicked()"),self.hesap.topla)
        QtCore.QObject.connect(self.pushButton_2,QtCore.SIGNAL("clicked()"),self.hesap.cikar)
        QtCore.QObject.connect(self.pushButton_3,QtCore.SIGNAL("clicked()"),self.hesap.carp)
        QtCore.QObject.connect(self.pushButton_4,QtCore.SIGNAL("clicked()"),self.hesap.bol)
        QtCore.QObject.connect(self.pushButton_5,QtCore.SIGNAL("clicked()"),MainWindow.close)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

Sonuç

  • Uçbirimi (konsolu) açın, eğer dosyanız masaüstünde ise şu komutları verin sırasıyla :
Kod:
cd Desktop
Kod:
python hesapeder.py

Resim:Hesapla_11.png


Konu hakkında sorunlarınız için : http://forum.pardus-linux.org/viewtopic.php?f=67&t=14228