Я ищу, чтобы отобразить .pdf-файл в wxPython, точно так же, как он появится, если вы откроете указанный .pdf-файл с помощью Windows Notepad. Все в моей программе работает, за исключением случаев, когда мои данные отправляются в txtctrl. Соответствующая часть моего кода:Unicode и wxPython TextCtrl
def DoOpen(self):
"""Show file open dialog and open file"""
wildcard = "pdf Files (*.pdf)|*.pdf"
dlg = wx.FileDialog(self,message="Open a File",wildcard=wildcard,style=wx.FD_OPEN)
if dlg.ShowModal() == wx.ID_OK:
path = dlg.GetPath()
with codecs.open(path, 'rb','utf8','ignore') as handle:
text = handle.read()
print (text)
self.txtctrl.SetValue(text)
self.file = path
dlg.Destroy()
Печатающего оператор печатает мой переводчик, как это должно появиться в моей программе. Но после того, как данные передаются через метод SetValue, текст, выводимый на wxPython, заканчивается, как только он попадает в мой первый поток объектов, точно так же, как он появляется, если я пропущу «игнорировать» при открытии файла для чтения.
Я прочитал http://wiki.wxpython.org/UnicodeBuild и стал еще более запутанным в процессе. Мысли?
Используете ли вы последнюю версию wxPython? Кажется, что все сборки в настоящее время являются сборками Unicode. Однако на странице загрузки упоминаются *, хотя строковые объекты, переданные в API wx, по-прежнему будут автоматически преобразованы *, что оставляет мне интересно. –
Wx версия 3.0.1.1 msw (классический) – user139553