ich habe folgende Projektstruktur:
[codebox=text file=Unbenannt.txt]
rezeptverwaltung
├── rezeptverwaltung
│ ├── __init__.py
│ ├── mymodules
│ │ ├── __init__.py
│ │ ├── rezept_auswahl
│ │ │ ├── __init__.py
│ │ │ ├── rezept_auswahl.py
│ │ │ ├── rezept_auswahl.ui
│ │ │ ├── rezept_suche.ui
│ │ │ └── ui_rezept_auswahl.py
│ │ ├── rezept_eingabe
│ │ │ ├── __init__.py
│ │ │ ├── rezept_eingabe.py
│ │ │ ├── rezept_eingabe.ui
│ │ │ └── ui_rezept_eingabe.py
│ │ └── rezept_main
│ │ ├── __init__.py
│ │ ├── rezept_main.py
│ │ ├── rezept_main.ui
│ │ └── ui_rezept_main.py
│ └── rezeptverwaltung.py
└── rezeptverwaltung.db.txt
[/code]
mein Hauptprogramm wie folgt:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding_ latin-1 -*-
# rezeptverwaltung.py
"""
Rezeptverwaltung
"""
import os
import sys
import logging
import _sqlite3
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import PyQt5.QtWidgets as w
import mymodules.rezept_main.rezept_main
from mymodules.rezept_main.ui_rezept_main import Ui_dlg_rez_main
import mymodules.rezept_eingabe.rezept_eingabe
#
# import mymodules.rezept_auswahl.rezept_auswahl
class rezeptverwaltung(w.QMainWindow):
def __init__(self, parent=None):
super(rezeptverwaltung, self).__init__(parent)
"""Setup Hauptbildschirm"""
self.ui = Ui_dlg_rez_main()
self.ui.setupUi(self)
self.show()
"""Slots"""
self.ui.pb_Close.clicked.connect(self.onCloseClicked)
self.ui.pb_rez_eingabe.clicked.connect(self.onRezEingabeClicked)
self.ui.pb_rez_auswahl.clicked.connect(self.onRezAuswahlClicked)
def onRezEingabeClicked(self):
pass
def onRezAuswahlClicked(self):
pass
def onCloseClicked(self):
pass
app = QApplication(sys.argv)
w = rezeptverwaltung()
w.show()
sys.exit(app.exec_())
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding_ latin-1 -*-
# rezept_eingabe.py
"""
rezept_eingabe
"""
import sys
import logging
import _sqlite3
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import PyQt5.QtWidgets as w
#import ui_rezept_eingabe
from ui_rezept_eingabe import Ui_dlgRezEingabe
class rezept_eingabe(w.QDialog):
def __init__(self, parent=None):
super(rezept_eingabe, self).__init__(parent)
"""Setup Hauptbildscirm"""
self.ui = Ui_dlgRezEingabe()
self.ui.setupUi(self)
self.show()
"""Slots"""
self.ui.pb_Close.clicked.connect(self.onCloseClicked)
self.ui.pb_Save.clicked.connect(self.onSaveClicked)
self.ui.pb_Delete.clicked.connect(self.onDeleteClicked)
def onCloseClicked(self):
pass
def onSaveClicked(self):
pass
def onDeleteClicked(self):
pass
Rufe ich den Dialog aber über <rezeptverwaltung> auf erhalte folgende Fehlermeldung:
/usr/bin/python3.6 /home/guenter/entw/projekte/python/rezeptverwaltung/rezeptverwaltung/rezeptverwaltung.py
Traceback (most recent call last):
File "/home/guenter/entw/projekte/python/rezeptverwaltung/rezeptverwaltung/rezeptverwaltung.py", line 19, in <module>
import mymodules.rezept_eingabe.rezept_eingabe
File "/home/guenter/entw/projekte/python/rezeptverwaltung/rezeptverwaltung/mymodules/rezept_eingabe/rezept_eingabe.py", line 16, in <module>
from ui_rezept_eingabe import Ui_dlgRezEingabe
ModuleNotFoundError: No module named 'ui_rezept_eingabe'
Process finished with exit code 1
[codebox=text file=Unbenannt.txt]
[/code]
Das Problem liegt wohl beim Import der einzelnen Module. Scheinbar habe ich das Import-Prinzip noch nicht richtig verstanden. Könnt Ihr mit Tipps und Hinweisen mal auf die Sprünge helfen?
Noch eine Frage zur Projektstruktur. Ist diese so sinnvoll, wenn nein, wie sieht eine sinnvolle Projektstruktur aus (mit Gui)
Danke für Eure Hilfe und Tipps.
Bis dann ...
MfG
Günter