2. Fenster mit PyQt5
Verfasst: Mittwoch 15. Januar 2020, 00:36
Hallo !
ich will von einem Hauptfenster ein 2. Fenster öffnen
Infos hab ich aus einem Youtube Video
Exit Button geht auch wie im YOutube Video
aber mehr wurde da nicht beschrieben wie ich ein FileDIalog öffne usw.
Ich hab ein Hauptfenster:
class Haupt_Fenster(QtWidgets.QMainWindow):
def __init__(self):
super(Haupt_Fenster, self).__init__()
PATHS = str(os.path.dirname(os.path.abspath(__file__)))
uic.loadUi(os.path.join(PATHS,"Fenster.ui"),self)
...
self.chan.clicked.connect(self.Aendern)
...
def Aendern(self):
self.Aendern_W = QtWidgets.QWidget()
self.ui = Ui_Aendern()
self.ui.setupUi(self.Aendern_W)
self.Aendern_W.show()
Im 2. *.py Script:
class Ui_Aendern(object):
def setupUi(self, Aendern):
Aendern.setObjectName("Aendern")
....
self.ZurueckBtn.clicked.connect(lambda:self.closeFenster(Aendern))
def closeFenster(self,Aendern):
# hide the Screen on Exit
Aendern.hide()
wie geh ich vor für ein 2. Button wo ich ein FileDialog öffnen will ?
im HauptFenster geht das ja so: dialog = QtWidgets.QFileDialog(self,"Ordner öffnen")
im "Aendern" fenster nicht
was muss ich da machen ?
self.OrdnerBtn.clicked.connect(lambda:self.Ordner_Scan(Aendern))
und dann:
def Ordner_Scan(self,Aendern):
dialog = QtWidgets.QFileDialog(self,"Ordner öffnen")
print(dialog)
gehts nicht
File "c:\Users\wkuh\Documents\Python\MeinProgramm\Aendern_Win1.py", line 95, in <lambda>
self.OrdnerBtn.clicked.connect(lambda:self.Ordner_Scan(Aendern))
File "c:\Users\wkuh\Documents\Python\MeinProgramm\Aendern_Win1.py", line 115, in Ordner_Scan
dialog = QtWidgets.QFileDialog(self,"Ordner ÷ffnen")
TypeError: arguments did not match any overloaded call:
QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType]): argument 1 has unexpected type 'Ui_Aendern'
QFileDialog(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = ''): argument 1 has unexpected type 'Ui_Aendern'
Bitte keine kommentare ala "mach dich mal schlau". Damit ist mir nicht geholfen.
bisher habe ich durch ausprobieren alles hinbekommen und halt Youtube
aber zu dem Problem habe ich nichts gefunden
das ist mein Schluss Cod, falls jemand fragt woher das Ui_Andern kommt
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Aendern = QtWidgets.QWidget()
ui = Ui_Aendern()
ui.setupUi(Aendern)
Aendern.show()
sys.exit(app.exec_())
Danke für eure Hilfe
evtl auch Links zum nachlesen am besten in deutsch, so gut englisch kann ich nämlich nicht
ich will von einem Hauptfenster ein 2. Fenster öffnen
Infos hab ich aus einem Youtube Video
Exit Button geht auch wie im YOutube Video
aber mehr wurde da nicht beschrieben wie ich ein FileDIalog öffne usw.
Ich hab ein Hauptfenster:
class Haupt_Fenster(QtWidgets.QMainWindow):
def __init__(self):
super(Haupt_Fenster, self).__init__()
PATHS = str(os.path.dirname(os.path.abspath(__file__)))
uic.loadUi(os.path.join(PATHS,"Fenster.ui"),self)
...
self.chan.clicked.connect(self.Aendern)
...
def Aendern(self):
self.Aendern_W = QtWidgets.QWidget()
self.ui = Ui_Aendern()
self.ui.setupUi(self.Aendern_W)
self.Aendern_W.show()
Im 2. *.py Script:
class Ui_Aendern(object):
def setupUi(self, Aendern):
Aendern.setObjectName("Aendern")
....
self.ZurueckBtn.clicked.connect(lambda:self.closeFenster(Aendern))
def closeFenster(self,Aendern):
# hide the Screen on Exit
Aendern.hide()
wie geh ich vor für ein 2. Button wo ich ein FileDialog öffnen will ?
im HauptFenster geht das ja so: dialog = QtWidgets.QFileDialog(self,"Ordner öffnen")
im "Aendern" fenster nicht
was muss ich da machen ?
self.OrdnerBtn.clicked.connect(lambda:self.Ordner_Scan(Aendern))
und dann:
def Ordner_Scan(self,Aendern):
dialog = QtWidgets.QFileDialog(self,"Ordner öffnen")
print(dialog)
gehts nicht
File "c:\Users\wkuh\Documents\Python\MeinProgramm\Aendern_Win1.py", line 95, in <lambda>
self.OrdnerBtn.clicked.connect(lambda:self.Ordner_Scan(Aendern))
File "c:\Users\wkuh\Documents\Python\MeinProgramm\Aendern_Win1.py", line 115, in Ordner_Scan
dialog = QtWidgets.QFileDialog(self,"Ordner ÷ffnen")
TypeError: arguments did not match any overloaded call:
QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType]): argument 1 has unexpected type 'Ui_Aendern'
QFileDialog(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = ''): argument 1 has unexpected type 'Ui_Aendern'
Bitte keine kommentare ala "mach dich mal schlau". Damit ist mir nicht geholfen.
bisher habe ich durch ausprobieren alles hinbekommen und halt Youtube
aber zu dem Problem habe ich nichts gefunden
das ist mein Schluss Cod, falls jemand fragt woher das Ui_Andern kommt

if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Aendern = QtWidgets.QWidget()
ui = Ui_Aendern()
ui.setupUi(Aendern)
Aendern.show()
sys.exit(app.exec_())
Danke für eure Hilfe
evtl auch Links zum nachlesen am besten in deutsch, so gut englisch kann ich nämlich nicht
