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 __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 __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()
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)
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("")
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("")