PyQt5 Butonun basılıp basılmadığı bilgisi

Arkadaşlar merhaba basit bir hasta kayıt sistemi yapıyorum. Python ilk öğrendiğim yazılım dili. Fakat mantık hatası mı denir,algoritma hatası mı bilmiyorum, bir yerlerde hata yapıyorum. Giriş ve kayıt ol sayfalarını bitirdim. Combobox’dan veri okuyup bunu veritabanına kaydetmeyide bitirdim. Fakat combobox’ın diyetisyen verisini tıklayalım bu bizi diyetisyen sayfasına iletsin. Bu sayfanın içindeki herhangi bir doktorun butonuna tıklanır tıklanmaz,veritabanına kaydetmesini istiyorum,ve her tıklanan doktorun akabindeki sayfada calendarwidget ve comboboxtaki saatleride direk veritabanına kaydetsin istiyorum.

Yardımcı olur musunuz? Nesne mantığını iyi anlamadığım için de yapamıyorum belki.

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtWidgets import QMainWindow,QMessageBox,QCalendarWidget
from ilkproje import Ui_MainWindow
import sqlite3
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QDateTime,QDate,QTime
from PyQt5.QtWidgets import QApplication,QWidget,QTimeEdit






baglanti = sqlite3.connect('C:\hastaneotomasyon\projee.db')
im = baglanti.cursor()

t='CREATE TABLE IF NOT EXISTS sonkontrol(Hastabilgisi VARCHAR(32),HastaTcKimlik VARCHAR(32),poliklinik VARCHAR(32),doktorismi VARCHAR(32),randevusaati INTEGER,tarih,id INTEGER PRIMARY KEY AUTOINCREMENT)'
s ='CREATE TABLE IF NOT EXISTS hastakontrol(hastabilgisi VARCHAR(32),hastaTcKimlik VARCHAR(32),id INTEGER PRIMARY KEY AUTOINCREMENT)'
im.execute(s)
im.execute(t)
baglanti.commit()






class Program(QMainWindow):

    def __init__(self):
        super().__init__()

        self.ui = Ui_MainWindow()

        self.ui.setupUi(self)

        self.kayit_ekran = 0
        self.home_page = 1
        self.ikinci_ekran = 2
        self.diyet_page=3
        self.genel_page=4
        self.kbb_page=5
        self.noroloji_page=6
        self.psikiyatri_page=7
        self.dermatoloji_page=8
        self.fizyoloji_page=9
        self.dahiliye_page=10
        self.azmi_page=11
        self.seyma_page=12




        self.ui.iki_combobox_button.clicked.connect(self.ekranlara_yonlendirme)




        self.ui.giris_button.clicked.connect(self.giris_kayit)
        self.ui.kayitol_button.clicked.connect(self.kayit_button)
        self.ui.kayit_geri_button.clicked.connect(self.geri_git_button)  # sadece geri git fonksiyonu
        self.ui.kayit_kayit_button.clicked.connect(self.kayit_bilgileri)
        self.ui.iki_geri_git_button.clicked.connect(self.iki_geri_git_button)

        self.ui.diyet_geri_button.clicked.connect(self.diyet_geri_page)
        self.ui.genel_geri_button.clicked.connect(self.genel_geri_page)
        self.ui.kbb_geri_button.clicked.connect(self.kbb_geri_page)
        self.ui.noro_geri_button.clicked.connect(self.noro_geri_page)
        self.ui.psi_geri_button.clicked.connect(self.psikiyatri_geri_page)
        self.ui.derma_geri_button.clicked.connect(self.dermatoloji_geri_page)
        self.ui.fizyo_geri_button.clicked.connect(self.fizyoloji_geri_page)
        self.ui.dahiliye_geri_button.clicked.connect(self.dahiliye_geri_page)

        self.ui.Randevu_button.clicked.connect(self.randevu)
        self.ui.Randevu_button_2.clicked.connect(self.randevu)

        self.ui.diyet_azmi.clicked.connect(self.azmi_sayfa)
        self.ui.diyet_seyma.clicked.connect(self.seyma_sayfa)


    def seyma_sayfa(self):
        self.diyetisyen_page()
        self.ui.stackedWidget.setCurrentIndex(self.seyma_page)

    def azmi_sayfa(self):
        self.diyetisyen_page()
        self.ui.stackedWidget.setCurrentIndex(self.azmi_page)

    # date_selected = self.ui.calendarWidget_2.selectedDate().toPyDate
    # poliklinik=self.ui.iki_combobox.currentText()
    # doktor ismi butonlar getirilecek unutma
    # poliklinik=self.ui.iki_combobox.currentText()
    def randevu(self):
        baglanti = sqlite3.connect('C:\hastaneotomasyon\projee.db')
        im = baglanti.cursor()

        date_selected = self.ui.calendarWidget.selectedDate().toPyDate()
        saat = self.ui.comboBox.currentText()
        poliklinik=self.selected_text



        print(saat)
        print(date_selected)
        print(poliklinik)

        im.execute("INSERT INTO sonkontrol(poliklinik,tarih,randevusaati) VALUES(?,?,?)",[poliklinik,date_selected,saat])
        baglanti.commit()

        self.ui.statusBar.showMessage("Randevu oluşturuldu", 1500)
        self.ui.statusBar.setStyleSheet("color:rgb(0,0,255)")








    def giris_kayit(self):

        name = self.ui.anahastaadi_line.text()
        password = self.ui.anahastatc_line.text()
        im.execute("SELECT * FROM hastakontrol WHERE hastabilgisi='" + name + "'")
        xhastabilgisi = im.fetchall()

        if name == "" or password =="":
            messagebox=QMessageBox()
            messagebox.setIcon(QMessageBox.Warning)
            messagebox.setWindowTitle("Hatalı Giriş")
            messagebox.setText("Kullanıcı adı veya parola hatalı")
            messagebox.setStandardButtons(QMessageBox.Ok)
            buton_ok=messagebox.button(QMessageBox.Ok)
            buton_ok.setText("Tamam")
            messagebox.exec_()

        else:
            im.execute("SELECT *  FROM hastakontrol WHERE hastabilgisi = ? and hastaTcKimlik = ?", (name, password))

            rows = im.fetchall()

            if len(rows) < 1:
                messagebox = QMessageBox()
                messagebox.setIcon(QMessageBox.Warning)
                messagebox.setWindowTitle("Hatalı Giriş")
                messagebox.setText("Böyle bir hasta bulunamadı")
                messagebox.setStandardButtons(QMessageBox.Ok)
                buton_ok = messagebox.button(QMessageBox.Ok)
                buton_ok.setText("Tamam")
                messagebox.exec_()
            else:
                self.ui.statusBar.showMessage("Giriş Başarılı", 3000)
                self.ui.statusBar.setStyleSheet("color:rgb(0,0,255)")
                self.ui.anahastaadi_line.clear()
                self.ui.anahastatc_line.clear()

                self.ui.stackedWidget.setCurrentIndex(self.ikinci_ekran)
    def kayit_button(self):
        self.ui.stackedWidget.setCurrentIndex(self.kayit_ekran)

    def geri_git_button(self):
        # buna dokunma
        self.ui.stackedWidget.setCurrentIndex(self.home_page)
    def iki_geri_git_button(self):
        self.ui.stackedWidget.setCurrentIndex(self.home_page)

    def kayit_bilgileri(self):

        name = self.ui.kayit_ad_line.text()
        password = self.ui.kayit_hasta_line.text()

        im.execute("SELECT * FROM hastakontrol WHERE hastabilgisi='" + name + "'")
        xhastabilgisi = im.fetchall()

        for tc in password:
            x=tc.isalpha()
            if x==True:
                messagebox = QMessageBox()
                messagebox.setIcon(QMessageBox.Warning)
                messagebox.setWindowTitle("Hatalı Giriş")
                messagebox.setText("Şifreniz rakamlardan oluşmalı")
                messagebox.setStandardButtons(QMessageBox.Ok)
                buton_ok = messagebox.button(QMessageBox.Ok)
                buton_ok.setText("Tamam")
                messagebox.exec_()
                break

        if name == "" or password == "":
            messagebox = QMessageBox()
            messagebox.setIcon(QMessageBox.Warning)
            messagebox.setWindowTitle("Hatalı Giriş")
            messagebox.setText("Kullanıcı Adı veya Şifre Boş Girildi")
            messagebox.setStandardButtons(QMessageBox.Ok)
            buton_ok = messagebox.button(QMessageBox.Ok)
            buton_ok.setText("Tamam")
            messagebox.exec_()

        elif name == password:
            messagebox = QMessageBox()
            messagebox.setIcon(QMessageBox.Warning)
            messagebox.setWindowTitle("Hatalı Giriş")
            messagebox.setText("Kullanıcı ve Tc Aynı değerlerde olmamalı")
            messagebox.setStandardButtons(QMessageBox.Ok)
            buton_ok = messagebox.button(QMessageBox.Ok)
            buton_ok.setText("Tamam")
            messagebox.exec_()
        elif len(password) < 11 or len(password) > 11:
            messagebox = QMessageBox()
            messagebox.setIcon(QMessageBox.Warning)
            messagebox.setWindowTitle("Hatalı Giriş")
            messagebox.setText("Tc Kimlik 11 haneli olmalı")
            messagebox.setStandardButtons(QMessageBox.Ok)
            buton_ok = messagebox.button(QMessageBox.Ok)
            buton_ok.setText("Tamam")
            messagebox.exec_()
        elif xhastabilgisi:
            messagebox = QMessageBox()
            messagebox.setIcon(QMessageBox.Warning)
            messagebox.setWindowTitle("Hatalı Giriş")
            messagebox.setText("Sistemde kullanıcı adı bulunmaktadır")
            messagebox.setStandardButtons(QMessageBox.Ok)
            buton_ok = messagebox.button(QMessageBox.Ok)
            buton_ok.setText("Tamam")
            messagebox.exec_()
        else:

            im.execute("INSERT INTO hastakontrol(hastabilgisi,hastaTcKimlik) VALUES(?,?)",
                       (name, password))
            baglanti.commit()
            self.ui.kayit_ad_line.clear()
            self.ui.kayit_hasta_line.clear()
            self.ui.statusBar.showMessage("Kayıt Başarılı",1500)
            self.ui.statusBar.setStyleSheet("color:rgb(0,0,255)")




    def ekranlara_yonlendirme(self):

        self.selected_text=self.ui.iki_combobox.currentText()

        if self.selected_text=="Diyetisyen":
            self.ui.stackedWidget.setCurrentIndex(self.diyet_page)
            #self.ui.iki_combobox_button.clicked.connect(self.randevu)









        elif selected_text=="Genel Cerrahi":
            self.ui.stackedWidget.setCurrentIndex(self.genel_page)
        elif selected_text=="KBB":
            self.ui.stackedWidget.setCurrentIndex(self.kbb_page)
        elif selected_text=="Nöroloji":
            self.ui.stackedWidget.setCurrentIndex(self.noroloji_page)
        elif selected_text=="Psikiyatri":
            self.ui.stackedWidget.setCurrentIndex(self.psikiyatri_page)
        elif selected_text=="Dermatoloji":
            self.ui.stackedWidget.setCurrentIndex(self.dermatoloji_page)
        elif selected_text=="Fizyoloji":
            self.ui.stackedWidget.setCurrentIndex(self.fizyoloji_page)
        elif selected_text=="Dahiliye":
            self.ui.stackedWidget.setCurrentIndex(self.dahiliye_page)


    def diyetisyen_page(self):
        # BURDA TIKLANAN BUTONLARI KONTROL ETMEYE CALIŞTIM
        # TIKLANAN BUTONLAR İÇİN NASIL BİR ŞEY YAZMAM GEREKİYOR?
        if self.ui.diyet_seyma:
            text = self.ui.diyet_seyma.text()
            print(text)

        elif self.ui.diyet_azmi:
            text=self.ui.diyet_azmi.text()
            print(text)





    def diyet_geri_page(self):
        self.ui.stackedWidget.setCurrentIndex(self.ikinci_ekran)
    def genel_geri_page(self):
        self.ui.stackedWidget.setCurrentIndex(self.ikinci_ekran)
    def kbb_geri_page(self):
        self.ui.stackedWidget.setCurrentIndex(self.ikinci_ekran)
    def noro_geri_page(self):
        self.ui.stackedWidget.setCurrentIndex(self.ikinci_ekran)
    def psikiyatri_geri_page(self):
        self.ui.stackedWidget.setCurrentIndex(self.ikinci_ekran)
    def dermatoloji_geri_page(self):
        self.ui.stackedWidget.setCurrentIndex(self.ikinci_ekran)
    def fizyoloji_geri_page(self):
        self.ui.stackedWidget.setCurrentIndex(self.ikinci_ekran)
    def dahiliye_geri_page(self):
        self.ui.stackedWidget.setCurrentIndex(self.ikinci_ekran)


Kodun biraz kötü yazılmış


pages = {
 "Diyetisyen": 0,
 "Genel Cerrahi":1,
 "KBB":2,
 "Nöroloji":3
 # diye diye numaralandır
}

#aşağıdaki if else li yeri böyle yap:
self.ui.stackedWidget.setCurrentIndex(pages[self.selected_text])
# böylelikle if else li yapılara gerek kalmaz. 


teşekkür ederim. yeniyim ben biraz maalesef,kendimi geliştirmeye calısıyorum. Gönderdiğiniz kod için minnettarım.