Laravel.io
NOTLAR


1 - design_ui klasöründe .ui uzantılı tasarım dosyaları vardır.
2 - ui klasöründe .ui uzantılı dosyaların .py uzantısına çevrilmiş halleri vardır.
3 - py klasöründe programın class dosyaları vardır. Tasarımlar ui klasöründen import edilmektedir.
4 - main.py dosyası tasarımını direkt olarak ui klasöründen import edilmektedir.

ALDIĞIM HATA

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

C:\Python\python.exe C:/PythonLearning/Projeler/GelismisKutuphaneSistemi/main.py
Traceback (most recent call last):
  File "C:\PythonLearning\Projeler\GelismisKutuphaneSistemi\main.py", line 4, in <module>
    import py.UyeEkle
  File "C:\PythonLearning\Projeler\GelismisKutuphaneSistemi\py\UyeEkle.py", line 2, in <module>
    from ..sql.Sql import *
ImportError: attempted relative import beyond top-level package

Process finished with exit code 1

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

----------------------------------------------
ANA DİZİN main.py
----------------------------------------------

import sys
from sql.Sql import *

import py.UyeEkle
import py.KitapEkle
import py.OduncKitaplar

from PyQt5.QtWidgets import *
from ui.Kutuphane import *

class Pencere(QMainWindow,Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.Init_Ui()
        self.KitaplariListele()

    def Init_Ui(self):
        self.actionUyeEkle.triggered.connect(self.UyeEkle)
        self.actionKitapEkle.triggered.connect(self.KitapEkle)
        self.actionOduncKitap.triggered.connect(self.OduncKitapVer)
        self.show()

    def UyeEkle(self):
        self.uyeEkle = py.UyeEkle.Uye()
        self.uyeEkle.show()

    def KitapEkle(self):
        self.kitapEkle = py.KitapEkle.Kitap()
        self.kitapEkle.show()

    def OduncKitapVer(self):
        self.oduncKitap = py.OduncKitaplar.OduncKitap()
        self.oduncKitap.show()


def main():
    uygulama = QApplication(sys.argv)
    pencere = Pencere()
    sys.exit(uygulama.exec_())

if __name__ == "__main__":
    main()

	
----------------------------------------------
py KLASÖRÜ UyeEkle.py
----------------------------------------------
import sys
from ..sql.Sql import *

from PyQt5.QtWidgets import *
from ..ui.UyeKayit import *

class Uye(QDialog,Ui_Dialog):
    def __init__(self):
        super(Uye,self).__init__()
        self.setupUi(self)
        self.Init_Ui()

    def Init_Ui(self):
        self.pushButtonKaydet.clicked.connect(self.UyeKayit)
        self.pushButtonKapat.clicked.connect(self.Kapat)

    def UyeKayit(self):
        pass

    def Kapat(self):
        self.close()


----------------------------------------------
sql KLASÖRÜ Sql.py
----------------------------------------------

import sqlite3

dbconnect = sqlite3.connect("sql/GelismisKutuphaneSistemi.db")
db = dbconnect.cursor()

def UyeEkle(uye_adisoyadi, uye_telefonu):
    db.execute("INSERT INTO uyeler (uye_adisoyadi, uye_telefonu) VALUES (?,?)", (uye_adisoyadi, uye_telefonu))
    dbconnect.commit()

def KitapEkle(kitap_adi, kitap_yazari, kitap_aciklamasi, kitap_sayfasayisi, kitap_dili):
    db.execute("INSERT INTO kitaplar (kitap_adi, kitap_yazari, kitap_aciklamasi, kitap_sayfasayisi, kitap_dili) VALUES (?,?,?,?,?)",(kitap_adi, kitap_yazari, kitap_aciklamasi, kitap_sayfasayisi, kitap_dili))
    dbconnect.commit()

def KitaplariListele():
    kitaplar = db.execute("SELECT kitap_id, kitap_adi, kitap_yazari, kitap_sayfasayisi, kitap_dili, kitap_durum FROM kitaplar")
    return kitaplar

Please note that all pasted data is publicly available.