Beispiel #1
0
 def __init__(self, *args, **kwargs):
     super().__init__()
     ## veritabanı ve arayüz dosyaları çağırılıyor
     self.vt = Veritabani(os.getcwd() + r"\IEDB.db")
     self.win = uic.loadUi(os.getcwd() + r"\ana.ui")
     self.secilenAy = "Seçiniz"
     self.secilenKalem = "Seçiniz"
     ## Arayüzdeki nesneler veritabanından dolduruluyor
     self.InitUI()
     self.TabloDoldur()
     ## Arayüzdeki Nesnelere Fonksiyonlar Atanıyor
     self.win.btYeni.clicked.connect(self.InitUI)
     self.win.lstHarcama.itemDoubleClicked.connect(self.secim)
     self.win.btKaydet.clicked.connect(self.Kaydet)
     self.win.btSil.clicked.connect(self.Sil)
     self.win.cmbAy.currentTextChanged.connect(self.SecimAy)
     self.win.cmbKalem.currentTextChanged.connect(self.SecimKalem)
     #Menü ile ilişkilendirme
     self.win.action_k.triggered.connect(self.win.close)
     self.win.actionKaydet.triggered.connect(self.Kaydet)
     self.win.actionG_ncelle.triggered.connect(self.Kaydet)
     self.win.actionSil.triggered.connect(self.Sil)
     self.win.actionTemizle.triggered.connect(self.InitUI)
     self.win.actionKalem_Ekle.triggered.connect(self.PencereAc)
     self.dialog = Dialog(self)
     self.comboEkle(self.dialog)
     ## Ekranda Gösterim için
     self.win.show()
Beispiel #2
0
 def __init__(self, parent=None):
     super(Dialog, self).__init__(parent)
     ## veritabanı ve arayüz dosyaları çağırılıyor
     self.vt = Veritabani(os.getcwd() + r"\IEDB.db")
     self.pencere = uic.loadUi(os.getcwd() + r"\sozluk.ui")
     self.TabloDoldur()
     self.pencere.lstSozluk.itemDoubleClicked.connect(self.secim)
     self.pencere.btIptal.clicked.connect(self.pencere.close)
     self.pencere.btKaydet.clicked.connect(self.Kaydet)
Beispiel #3
0
 def __init__(self, parent=None):
     super(Dialog, self).__init__(parent)
     ## veritabanı ve arayüz dosyaları çağırılıyor
     self.vt = Veritabani(os.getcwd() + r"\IEDB.db")
     self.pencere = uic.loadUi(os.getcwd() + r"\sozluk.ui")
     ## Arayüzdeki Nesnelere Fonksiyonlar Atanıyor
     self.pencere.btIptal.clicked.connect(self.pencere.close)
     self.pencere.btKaydet.clicked.connect(self.KaydetSozluk)
     self.pencere.lstSozluk.itemDoubleClicked.connect(self.SecimSozluk)
     ## Arayüzdeki nesneler veritabanından dolduruluyor
     self.InitUISozluk()
     self.TabloDoldurSozluk()
Beispiel #4
0
class Ana(QMainWindow):
    platform = "PyQT5"

    def __init__(self, *args, **kwargs):
        super().__init__()
        ## veritabanı ve arayüz dosyaları çağırılıyor
        self.vt = Veritabani(os.getcwd() + r"\IEDB.db")
        self.win = uic.loadUi(os.getcwd() + r"\ana.ui")
        self.secilenAy = "Seçiniz"
        self.secilenKalem = "Seçiniz"
        ## Arayüzdeki nesneler veritabanından dolduruluyor
        self.InitUI()
        self.TabloDoldur()
        ## Arayüzdeki Nesnelere Fonksiyonlar Atanıyor
        self.win.btYeni.clicked.connect(self.InitUI)
        self.win.lstHarcama.itemDoubleClicked.connect(self.secim)
        self.win.btKaydet.clicked.connect(self.Kaydet)
        self.win.btSil.clicked.connect(self.Sil)
        self.win.cmbAy.currentTextChanged.connect(self.SecimAy)
        self.win.cmbKalem.currentTextChanged.connect(self.SecimKalem)
        #Menü ile ilişkilendirme
        self.win.action_k.triggered.connect(self.win.close)
        self.win.actionKaydet.triggered.connect(self.Kaydet)
        self.win.actionG_ncelle.triggered.connect(self.Kaydet)
        self.win.actionSil.triggered.connect(self.Sil)
        self.win.actionTemizle.triggered.connect(self.InitUI)
        self.win.actionKalem_Ekle.triggered.connect(self.PencereAc)
        self.dialog = Dialog(self)
        self.comboEkle(self.dialog)
        ## Ekranda Gösterim için
        self.win.show()

    def PencereAc(self):
        self.dialog.pencere.show()
        self.cmbAyDoldur()

    def comboEkle(self, dialog_obj):
        dialog_obj.eklenen.connect(self.cmbAyDoldur)

    def SecimAy(self, deger):
        self.secilenAy = deger
        self.TabloDoldur()

    def SecimKalem(self, deger):
        self.secilenKalem = deger
        self.TabloDoldur()

    def Sil(self):
        ID = self.win.lblKayit.text()
        if self.Mesaj(4, "Silme İşlemi",
                      "Silmek İstediğinizden Emin Misiniz?"):
            sonuc = self.vt.VeriSil(ID)
            if sonuc == "1":
                self.Mesaj(1, "Silme İşlemi", "Silme Gerçekleşti")
                self.InitUI()
                self.TabloDoldur()
            else:
                self.Mesaj(2, "Silme İşlemi", sonuc)

    def secim(self):
        # print(self.liste[self.win.lstHarcama.currentRow()])
        tutar = str(self.liste[self.win.lstHarcama.currentRow()][2])
        ID = str(self.liste[self.win.lstHarcama.currentRow()][0])
        self.win.lblKayit.setText(ID)
        self.win.txtTutar.setText(tutar)
        self.win.cmbKalem.setCurrentText(
            self.liste[self.win.lstHarcama.currentRow()][1])
        self.win.cmbAy.setCurrentText(
            self.liste[self.win.lstHarcama.currentRow()][3])

    def Mesaj(self, icon, baslik, metin):
        sonuc = True
        if icon == 1:
            QMessageBox.information(self, baslik, metin, QMessageBox.Ok)
        elif icon == 2:
            QMessageBox.critical(self, baslik, metin, QMessageBox.Ok)
        elif icon == 3:
            QMessageBox.warning(self, baslik, metin, QMessageBox.Ok)
        elif icon == 4:
            try:
                cevap = QMessageBox.question(
                    self, baslik, metin, QMessageBox.Ok | QMessageBox.Cancel,
                    QMessageBox.Cancel)
                if cevap == QMessageBox.Ok:
                    sonuc = True
                else:
                    sonuc = False
            except:
                print("Hata")
        return sonuc

    def Kaydet(self):
        ID = self.win.lblKayit.text()
        kalem = self.win.cmbKalem.currentIndex()
        ay = self.win.cmbAy.currentIndex()
        tutar = self.win.txtTutar.text()
        if ID == "":
            sonuc = self.vt.VeriEkle(kalem, ay, tutar)
        else:
            sonuc = self.vt.VeriGuncelle(kalem, ay, tutar, ID)

        if sonuc == "1":
            self.Mesaj(1, "Bilgi", "Başarıyla Kaydedildi")
            self.InitUI()
            self.TabloDoldur()
        else:
            self.Mesaj(2, "Kayıt Hatası", sonuc)

    def TabloDoldur(self):
        self.win.lstHarcama.clear()
        self.liste = self.vt.Listele(self.secilenAy, self.secilenKalem)
        self.win.lstHarcama.setHorizontalHeaderLabels(
            ("ID", "KALEM", "TUTAR", "AY"))
        self.win.lstHarcama.setRowCount(15)
        self.win.lstHarcama.setColumnCount(4)
        satir = 0
        for a, b, c, d in self.liste:
            self.win.lstHarcama.setItem(satir, 0, QTableWidgetItem(str(a)))
            self.win.lstHarcama.setItem(satir, 1, QTableWidgetItem(str(b)))
            self.win.lstHarcama.setItem(satir, 2, QTableWidgetItem(str(c)))
            self.win.lstHarcama.setItem(satir, 3, QTableWidgetItem(str(d)))
            satir += 1

    def InitUI(self):
        # Ay
        self.cmbAyDoldur()
        # Kalem
        self.cmbKalemDoldur()
        #Tutar
        self.win.txtTutar.setText("")
        self.win.lblKayit.setText("")

    def cmbAyDoldur(self):
        # Ay Combosu Dolduruluyor
        self.win.cmbAy.clear()
        self.win.cmbAy.addItem("Seçiniz", -1)
        for a, b in self.vt.SozlukListele(2):
            self.win.cmbAy.addItem(a, b)

    def cmbKalemDoldur(self):
        # Kalem Combosu Dolduruluyor
        self.win.cmbKalem.clear()
        self.win.cmbKalem.addItem("Seçiniz", -1)
        for a, b in self.vt.SozlukListele(1):
            self.win.cmbKalem.addItem(a, b)
Beispiel #5
0
class Dialog(QDialog):

    eklenen = pyqtSignal(list)

    def __init__(self, parent=None):
        super(Dialog, self).__init__(parent)
        ## veritabanı ve arayüz dosyaları çağırılıyor
        self.vt = Veritabani(os.getcwd() + r"\IEDB.db")
        self.pencere = uic.loadUi(os.getcwd() + r"\sozluk.ui")
        self.TabloDoldur()
        self.pencere.lstSozluk.itemDoubleClicked.connect(self.secim)
        self.pencere.btIptal.clicked.connect(self.pencere.close)
        self.pencere.btKaydet.clicked.connect(self.Kaydet)

    def TabloDoldur(self):
        self.pencere.lstSozluk.clear()
        self.liste = self.vt.TumSozlukListele()
        self.pencere.lstSozluk.setHorizontalHeaderLabels(
            ("ID", "TABLOID", "SOZLUKID", "SOZLUKADI"))
        self.pencere.lstSozluk.setRowCount(15)
        self.pencere.lstSozluk.setColumnCount(4)
        satir = 0
        for a, b, c, d in self.liste:
            self.pencere.lstSozluk.setItem(satir, 0, QTableWidgetItem(str(a)))
            self.pencere.lstSozluk.setItem(satir, 1, QTableWidgetItem(str(b)))
            self.pencere.lstSozluk.setItem(satir, 2, QTableWidgetItem(str(c)))
            self.pencere.lstSozluk.setItem(satir, 3, QTableWidgetItem(str(d)))
            satir += 1

    def secim(self):
        ADI = str(self.liste[self.pencere.lstSozluk.currentRow()][2])
        TABLO = str(self.liste[self.pencere.lstSozluk.currentRow()][3])
        ID = str(self.liste[self.pencere.lstSozluk.currentRow()][0])
        SOZID = str(self.liste[self.pencere.lstSozluk.currentRow()][1])
        self.pencere.lblKayit.setText(ID)
        self.pencere.txtTablo.setText(TABLO)
        self.pencere.txtAd.setText(ADI)
        self.pencere.txtID.setText(SOZID)

    def Kaydet(self):
        ID = self.pencere.lblKayit.text()
        tablo = self.pencere.txtTablo.text()
        sozlukAdi = self.pencere.txtAd.text()
        sozlukID = self.pencere.txtID.text()

        if ID == "":
            sonuc = self.vt.SozlukVeriEkle(tablo, sozlukID, sozlukAdi)
        else:
            sonuc = self.vt.SozlukVeriGuncelle(tablo, sozlukID, sozlukAdi, ID)

        gonderListe = [sozlukAdi, sozlukID]
        self.eklenen.emit(gonderListe)
        if sonuc == "1":
            self.Mesaj(1, "Bilgi", "Başarıyla Kaydedildi")
            self.Temizle()
            self.TabloDoldur()
        else:
            self.Mesaj(2, "Kayıt Hatası", sonuc)

    def Mesaj(self, icon, baslik, metin):
        sonuc = True
        if icon == 1:
            QMessageBox.information(self, baslik, metin, QMessageBox.Ok)
        elif icon == 2:
            QMessageBox.critical(self, baslik, metin, QMessageBox.Ok)
        elif icon == 3:
            QMessageBox.warning(self, baslik, metin, QMessageBox.Ok)
        elif icon == 4:
            try:
                cevap = QMessageBox.question(
                    self, baslik, metin, QMessageBox.Ok | QMessageBox.Cancel,
                    QMessageBox.Cancel)
                if cevap == QMessageBox.Ok:
                    sonuc = True
                else:
                    sonuc = False
            except:
                print("Hata")
        return sonuc

    def Temizle(self):
        self.pencere.txtAd.setText("")
        self.pencere.txtID.setText("")
        self.pencere.txtTablo.setText("")
        self.pencere.lblKayit.setText("")
Beispiel #6
0
class Dialog(QDialog):
    def __init__(self, parent=None):
        super(Dialog, self).__init__(parent)
        ## veritabanı ve arayüz dosyaları çağırılıyor
        self.vt = Veritabani(os.getcwd() + r"\IEDB.db")
        self.pencere = uic.loadUi(os.getcwd() + r"\sozluk.ui")
        ## Arayüzdeki Nesnelere Fonksiyonlar Atanıyor
        self.pencere.btIptal.clicked.connect(self.pencere.close)
        self.pencere.btKaydet.clicked.connect(self.KaydetSozluk)
        self.pencere.lstSozluk.itemDoubleClicked.connect(self.SecimSozluk)
        ## Arayüzdeki nesneler veritabanından dolduruluyor
        self.InitUISozluk()
        self.TabloDoldurSozluk()

    def TabloDoldurSozluk(self):
        self.pencere.lstSozluk.clear()
        self.liste = self.vt.SozlukGoruntule()
        self.pencere.lstSozluk.setHorizontalHeaderLabels(
            ("ID", "SOZLUK_ID", "SOZLUK_ADI", "TABLO_ID"))
        self.pencere.lstSozluk.setRowCount(15)
        self.pencere.lstSozluk.setColumnCount(4)
        satir = 0
        for a, b, c, d in self.liste:
            self.pencere.lstSozluk.setItem(satir, 0, QTableWidgetItem(str(a)))
            self.pencere.lstSozluk.setItem(satir, 1, QTableWidgetItem(str(b)))
            self.pencere.lstSozluk.setItem(satir, 2, QTableWidgetItem(str(c)))
            self.pencere.lstSozluk.setItem(satir, 3, QTableWidgetItem(str(d)))
            satir += 1

    def SecimSozluk(self):
        # print(self.liste[self.pencere.lstSozluk.currentRow()])
        ID = str(self.liste[self.pencere.lstSozluk.currentRow()][0])
        sozlukID = str(self.liste[self.pencere.lstSozluk.currentRow()][1])
        sozlukadi = str(self.liste[self.pencere.lstSozluk.currentRow()][2])
        tabloID = str(self.liste[self.pencere.lstSozluk.currentRow()][3])
        self.pencere.lblKayit.setText(ID)
        self.pencere.txtID.setText(sozlukID)
        self.pencere.txtAd.setText(sozlukadi)
        self.pencere.txtTablo.setText(tabloID)

    def MesajSozluk(self, icon, baslik, metin):
        sonuc = True
        if icon == 1:
            QMessageBox.information(self, baslik, metin, QMessageBox.Ok)
        elif icon == 2:
            QMessageBox.critical(self, baslik, metin, QMessageBox.Ok)
        elif icon == 3:
            QMessageBox.warning(self, baslik, metin, QMessageBox.Ok)
        elif icon == 4:
            try:
                cevap = QMessageBox.question(
                    self, baslik, metin, QMessageBox.Ok | QMessageBox.Cancel,
                    QMessageBox.Cancel)
                if cevap == QMessageBox.Ok:
                    sonuc = True
                else:
                    sonuc = False
            except:
                print("Hata")
        return sonuc

    def KaydetSozluk(self):
        # ID = self.pencere.lblKayit.text()
        sozlukID = self.pencere.txtID.text()
        sozlukadi = self.pencere.txtAd.text()
        tabloID = self.pencere.txtTablo.text()

        sonuc = self.vt.VeriEkleSozluk(sozlukID, sozlukadi, tabloID)

        if sonuc == "1":
            self.MesajSozluk(1, "Bilgi", "Başarıyla Kaydedildi")
            self.InitUISozluk()
            self.TabloDoldurSozluk()
        else:
            self.Mesaj(2, "Kayıt Hatası", sonuc)

    def InitUISozluk(self):
        self.pencere.txtID.setText("")
        self.pencere.txtAd.setText("")
        self.pencere.txtTablo.setText("")