![](/img/trans.png)
[英]Process finished with exit code -1073740791 (0xC0000409) on PyCharm with XGBoost
[英]Python and Qt: Read text file in QTextEdit - program crashes with exit code -1073740791 (0xC0000409)
以下代碼:
self.texteditor = QTextEdit ('')
def openmenu ():
filename = QFileDialog.getOpenFileName (self, 'open file', '', 'text files (* .txt)')
filename = os.path.abspath (filename [0])
program settings.path openfile = filename
file content = '' .join (open (file name, encoding = "utf8"). readlines ())
self.texteditor.setText (file content)
測試 function 時,我收到以下帶有文本文件的錯誤消息: Process finished with exit code -1073740791 (0xC0000409)
問題:我能做些什么來對抗它?
我已經使用您提供的代碼重新創建了您想要的內容並使其正常工作
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_())
我用一個簡單的 txt 文件嘗試過它,它沒有錯誤地工作。 你能用你的文件測試它嗎?
我還發現您忘記將self作為參數傳遞給menuoffnen,還是在帖子中再次出現問題?
是的,您可以將所有這些都放在 try except 塊中,當用戶可以輸入內容時,您應該以任何方式這樣做。 您是否嘗試過使用不同的文本文件? 有時由於解碼錯誤,它有助於完全省略編碼參數。
這是有關檢測文件編碼的內容。 如果您希望將來支持多種編碼,它可能會很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.