PYQT5 QTABLE'da herhangi indexe click yapmak

Katılım
24 Şub 2021
Mesajlar
21
Puanları
1
Yaş
18
HEPİNİZE MERHABA PYTHON PYQT5 SÜRÜ TAKİP PROMGRAMI GELİŞTİRİKEN BİR SORUN İLE KARŞILAŞTIM PROGRAMIN HAYVAN KAYIT SİLME GÜNCELLEME İŞLEMLERİNİ TAMAMLADIM ANCAK TABLOYA BASTIRDIĞIM HAYVANLARDAN HERHANGİ BİRİNE KLİK YAPARAK O HAYVAN HAKKINDAKİ BİR SAYFAYI AÇMAK İÇİN BİR FONKSİYON ÇALIŞTIRMAM GEREK AMA BUNU NASIL YAPABİLECEĞİM HAKKINDA BİR FİKRİM YOK İNTERNETTEN ARAŞTIRDIM CUURRENT INDEX FONKSİYONUNU BULDUM ANCAK PEK FAZLA TÜRKÇE KAYNAK BULAMADIĞIM İÇİN NASIL KULLANILDIĞINI VEYA DOĞRU FONKSİYON OLUP OLMADIĞINI ANLAYAMADIM BU HAKKINDA Bİ BİLGİYE SAHİP OLANLARINIZ VARSA BANA YARDIMCI OLURMUSUNUZ
AŞAĞIDA PYTHON İLE YAZDIĞIM KODLAR


# from PyQt5.QtWidgets import QWidget, QApplication, QLabel, QPushButton, QVBoxLayout
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
import sqlite3


sts = QApplication(sys.argv)
ana_sayfa = QMainWindow()
yeni_kayıt_sayfası = QWidget()
inekler = QWidget()
örnek = QWidget()
ana_sayfa.setWindowTitle("ANA SAYFA")
ana_sayfa.setGeometry(100,100,500,500)
ana_sayfa.show()
vt = sqlite3.connect("deneme.sqlite")
im = vt.cursor()
im.execute("""CREATE TABLE IF NOT EXISTS tablo(İSİM,KÜPENUMARASI,ÇİFTLİKNUMARASI,YAŞ)""")
vt.commit()

def deneme1():
row = tablo.currentIndex()
print(row)



BUTON2 =QPushButton(inekler)
BUTON2.move(700,100)
BUTON2.setText("deneme")
BUTON2.show()
BUTON2.clicked.connect(deneme1)




def klik_kaydet():

try:
a = str(isim_text.text())
b = küpenumarası_text.text()
c = çiftlik_numarası_text.text()
d = doğum_tarihi_text.text()
liste = [a,b,c,d]
im.execute("INSERT INTO tablo VALUES(?,?,?,?)",liste)
vt.commit()
isim_text.clear()
küpenumarası_text.clear()
çiftlik_numarası_text.clear()
doğum_tarihi_text.clear()
except Exception as error:
print(error)
pass
def klik_bul():

a = isim_text.text()
try:
im.execute("""SELECT * FROM tablo where İSİM=? """,[a])
bilgi = im.fetchone()
vt.commit()
print(bilgi)
iss = bilgi[0]
küp = bilgi[1]
çif = bilgi[2]
doğ = bilgi[3]
isim_text.setText(iss)
küpenumarası_text.setText(küp)
çiftlik_numarası_text.setText(çif)
doğum_tarihi_text.setText(doğ)
except Exception as error2:
print(error2)
def klik_güncelle():
try:
a = isim_text.text()
b = küpenumarası_text.text()
c = çiftlik_numarası_text.text()
d = doğum_tarihi_text.text()
im.execute("""UPDATE tablo SET KÜPENUMARASI=?,ÇİFTLİKNUMARASI=?,YAŞ=? WHERE İSİM=?""",[b,c,d,a])
isim_text.clear()
küpenumarası_text.clear()
çiftlik_numarası_text.clear()
doğum_tarihi_text.clear()
vt.commit()
except Exception as error:
print(error)

def klik_sil():
a = isim_text.text()
try:
im.execute("DELETE FROM tablo WHERE İSİM = ?",[a])
vt.commit()
im.execute("""SELECT * FROM tablo""")
veriler = im.fetchall()
vt.commit()
for indexsatır, satırkayıt in enumerate(veriler):
for indexsütun, sütunkayıt in enumerate(satırkayıt):
tablo.setItem(indexsatır, indexsütun, QTableWidgetItem(str(sütunkayıt)))
isim_text.clear()
küpenumarası_text.clear()
çiftlik_numarası_text.clear()
doğum_tarihi_text.clear()
except Exception as error3:
print(error3)


def yenikayıt():
yeni_kayıt_sayfası.show()



def inek():
try:
inekler.show()
im.execute("""SELECT * FROM tablo""")
veriler = im.fetchall()
vt.commit()
for indexsatır, satırkayıt in enumerate(veriler):
for indexsütun, sütunkayıt in enumerate(satırkayıt):
tablo.setItem(indexsatır, indexsütun, QTableWidgetItem(str(sütunkayıt)))
except:
pass







yeni_kayıt_sayfası.setWindowTitle("YENİ KAYIT")
yeni_kayıt_sayfası.setGeometry(100,100,500,500)


yenikayıtsayfası_buton = QPushButton(ana_sayfa)
yenikayıtsayfası_buton.move(10,10)
yenikayıtsayfası_buton.setText("YENİ KAYIT")
yenikayıtsayfası_buton.clicked.connect(yenikayıt)
yenikayıtsayfası_buton.show()

combo = QComboBox(yeni_kayıt_sayfası)
combo.addItem("a")
combo.addItem("b")
combo.show()
combo2 = QComboBox(inekler)
combo2.addItem("a")
combo2.addItem("b")
combo2.show()

isim = QLabel(yeni_kayıt_sayfası)
isim.setText("İSİM")
isim.move(30,50)
isim_text = QLineEdit(yeni_kayıt_sayfası)
isim_text.move(125,50)


küpe_numarası = QLabel(yeni_kayıt_sayfası)
küpe_numarası.setText("KÜPE NUMARASI")
küpe_numarası.move(30,70)
küpe_numarası.show()
küpenumarası_text= QLineEdit(yeni_kayıt_sayfası)
küpenumarası_text.move(125,70)

çiftlik_numarası = QLabel(yeni_kayıt_sayfası)
çiftlik_numarası.setText("ÇİFTLİK NUMARASI")
çiftlik_numarası.move(30,90)
çiftlik_numarası_text = QLineEdit(yeni_kayıt_sayfası)
çiftlik_numarası_text.move(125,90)

doğum_tarihi = QLabel(yeni_kayıt_sayfası)
doğum_tarihi.setText("DOĞUM TARİHİ")
doğum_tarihi.move(30,110)
doğum_tarihi_text = QLineEdit(yeni_kayıt_sayfası)
doğum_tarihi_text.move(125,110)

######################################

kaydet = QPushButton(yeni_kayıt_sayfası)
kaydet.setText("KAYDET")
kaydet.move(15,150)
kaydet.clicked.connect(klik_kaydet)

bul = QPushButton(yeni_kayıt_sayfası)
bul.setText("BUL")
bul.move(95,150)
bul.clicked.connect(klik_bul)

güncelle = QPushButton(yeni_kayıt_sayfası)
güncelle.setText("GÜNCELLE")
güncelle.move(255,150)
güncelle.clicked.connect(klik_güncelle)

sil =QPushButton(yeni_kayıt_sayfası)
sil.setText("SİL")
sil.move(175,150)
sil.clicked.connect(klik_sil)



#####################################
inekler.setWindowTitle("İNEKLER")
inekler.setGeometry(100,100,500,500)


inekler_buton = QPushButton(ana_sayfa)
inekler_buton.move(100,10)
inekler_buton.setText("İNEKLER")
inekler_buton.show()
inekler_buton.clicked.connect(inek)


tablo = QTableWidget(inekler)
tablo.move(10,50)
tablo.setGeometry(10,10,500,500)
tablo.setColumnCount(4)
tablo.setRowCount(100)
tablo.setHorizontalHeaderLabels(("İSİM","KÜPE NUMARASI","ÇİFTLİK NUMARASI","YAŞ"))
tablo.doubleClicked.connect(deneme1)
 
Python:
def tablo_fonksiyonu(item):
    satir = item.row()
    sutun = item.column()
    print("Tablonun {}.satırı ve {}.sütunu tıklandı".format(satir,sutun)
    
tablo.clicked.connect(tablo_fonksiyonu)
 
Python:
def tablo_fonksiyonu(item):
    satir = item.row()
    sutun = item.column()
    print("Tablonun {}.satırı ve {}.sütunu tıklandı".format(satir,sutun)
   
tablo.clicked.connect(tablo_fonksiyonu)
ÇOK İŞİME YARADI ÇOK SAĞOL YANİ DAHA HİÇBİR BİLGİM OLMADAN PYQT5 İLE BİR SÜRÜ TAKİP PROGRAMI GELİŞTİRMEYE BAŞLADIM O YÜZDEN ÇOK FAZLA ZORLANDIĞIM VE TIKANDIĞIM YER OLUYOR AMA ARTIK YAVAŞ YAVAŞ ŞEKİLLENMEYE BAŞLIYOR HERŞEY İÇİN TEŞEKKÜR EDERİM
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…