Seite 1 von 1
Umlaute aus QTextEdit lesen [pyQT]
Verfasst: Mittwoch 4. Februar 2015, 19:56
von luke8800gts
Hallo,
hab jetzt schon länger gesucht, aber keine Lösung fürs Einlesen von Umlaute aus einem QTextEdit-Feld.
Ich erhalte den Fehler:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
Wie geh ich hier am besten vor?

Re: Umlaute aus QTextEdit lesen [pyQT]
Verfasst: Mittwoch 4. Februar 2015, 20:15
von BlackJack
@luke8800gts: Bist Du sicher dass das in *der* Zeile passiert? Das glaube ich eher nicht. Du hast wahrscheinlich gar kein Problem Umlaute aus der GUI zu holen, sondern eher irgendwann später wenn Du versuchst Unicode irgendwo zu verwenden wo ein Bytestring erwartet wird, und Du an der Stelle das nicht entsprechend kodierst.
Re: Umlaute aus QTextEdit lesen [pyQT]
Verfasst: Mittwoch 4. Februar 2015, 20:56
von BlackJack
Beispiel das das auslesen kein Problem ist:
Code: Alles auswählen
import sys
from PyQt4.QtGui import (
QApplication, QLabel, QMainWindow, QPushButton, QTextEdit, QVBoxLayout,
QWidget
)
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
layout = QVBoxLayout()
widget = QWidget(self)
self.text_edit = QTextEdit(widget)
layout.addWidget(self.text_edit)
copy_button = QPushButton('copy', widget)
layout.addWidget(copy_button)
self.copy_label = QLabel(widget)
layout.addWidget(self.copy_label)
widget.setLayout(layout)
self.setCentralWidget(widget)
copy_button.clicked.connect(self.on_copy)
def on_copy(self):
self.copy_label.setText(self.text_edit.toPlainText())
def main():
application = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(application.exec_())
if __name__ == '__main__':
main()