I have recreated what you want with the code you gave and got this to work
import sys
import os
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Wnd(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.initUI()
self.menuoffnen()
pass
def initUI(self):
self.setGeometry(200, 200, 800, 600)
self.layout = QVBoxLayout()
self.layout.setContentsMargins(0, 0, 0, 0)
self.setLayout(self.layout)
self.texteditor = QPlainTextEdit('')
font = QFont()
font.setPointSize(12)
self.texteditor.setFont(font)
#self.layout.addWidget(editormenu) # Editormenü
self.setCentralWidget(self.texteditor) # Eingabefeld für Texdateien
self.setWindowTitle("NodeEditor")
self.show()
def menuoffnen(self):
dateiname = QFileDialog.getOpenFileName(self, 'Datei öffnen','','Textdateien (*.txt)')
dateiname = os.path.abspath(dateiname[0])
dateininhalt = ''.join(open(dateiname, encoding="utf-8").readlines())
self.texteditor.setPlainText(dateininhalt)
self.setWindowTitle(os.path.basename(dateiname) + " - Marlems PQTTexteditor")
if __name__ == '__main__':
app = QApplication(sys.argv)
wnd = Wnd()
sys.exit(app.exec_())
I have tried it with a simple txt file and it worked without errors. Could you test it with your file?
I also find that you forgot to pass self as a parameter into menuoffnen, or is it again a problem in the post?