PYQT Denemeleri-6
Pardus-Linux.org | Wiki sitesinden
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.
- 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.
- 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.
- 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.
- 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.
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.
- 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))
|
- 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_()) |
- 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 |
Konu hakkında sorunlarınız için :
http://forum.pardus-linux.org/viewtopic.php?f=67&t=14228
Bu yazı PYQT Denemeleri bölümünün bir parçasıdır.
| 1. PYQT Denemeleri-1 | 2. PYQT Denemeleri-2 |
| 3. PYQT Denemeleri-3 | 4. PYQT Denemeleri-4 |
| 5. PYQT Denemeleri-5 | 6. PYQT Denemeleri-6 |
| 7. PYQT Denemeleri-7 | 8. PYQT Denemeleri-8 |
| 9. PYQT Denemeleri-9 | 10. PYQT Denemeleri-10 |












