Seite 1 von 1
Coding+wx.TheClipboard
Verfasst: Mittwoch 14. November 2007, 20:52
von Tompee
Hi,
habe gerade angefangen mit wx-Python zu arbeiten und habe folgendes Problem.
Ich lade mit wx.TheClipboard einen String aus einem wx.TextCtrl in die Zwischenablage. Wenn ich diesen String unter Windows Vista in ein Textdokument einfüge, erhalte ich lauter chinesische Zeichen.
Unter Ubuntu auf meinem Laptop funktioniert das aber wunderbar.
Habe es auch schon mit
versucht, aber das klappt auch nicht.
Zusätzlich ist mir aufgefallen, das die Frame-Styles unter Vista nicht funktionieren. Also z.B.
Unter Ubuntu wunderbar, bei Vista zeigt er mir nur einen leeren Rahmen an.
Könnt ihr mir einen Tip geben?
Gruss Tompee
Re: Coding+wx.TheClipboard
Verfasst: Mittwoch 14. November 2007, 21:23
von gerold
Hallo Tompee!
Tompee hat geschrieben:Ich lade mit wx.TheClipboard einen String aus einem wx.TextCtrl in die Zwischenablage. Wenn ich diesen String unter Windows Vista in ein Textdokument einfüge, erhalte ich lauter chinesische Zeichen.
Keine Ahnung -- habe kein Vista.
Vielleicht hilft es, wenn du vorher den Unicode-String nach iso-8859-1 umzuwandelst. (Du verwendest ja die Unicode-Version von wxPython, oder?)
Code: Alles auswählen
text = myTextCtrl.GetValue()
text = text.encode("iso-8859-1")
Du kannst es auch noch mit anderen Encodings probieren. Z.B. mit "utf-8".
Vielleicht solltest du es mal andersrum probieren. Ziehe nur die Flags von wx.DEFAULT_FRAME_STYLE ab, die du nicht haben willst.
Code: Alles auswählen
style = wx.DEFAULT_FRAME_STYLE ^ (wx.RESIZE_BOX | wx.RESIZE_BORDER)
Keine Ahnung ob das was hilft.
mfg
Gerold

Verfasst: Mittwoch 14. November 2007, 21:31
von Tompee
Hi Gerold,
danke dir, das mit den Frame-Styles funktioniert jetzt.
Mit dem encoding in der Zwischenablage noch nicht.
Code: Alles auswählen
data = self.text_log.GetValue()
data = data.encoding('iso-8859-1')
clipboard = wx.TextDataObject()
clipboard.SetData(str(data))
wx.TheClipboard.Open()
wx.TheClipboard.SetData(clipboard)
wx.TheClipboard.Close()
Dann fommt folgende Fehlermeldung:
'unicode' object has no attribute 'encoding'
Gruss Tompee
Re: Coding+wx.TheClipboard
Verfasst: Donnerstag 15. November 2007, 08:01
von HWK
Verfasst: Donnerstag 15. November 2007, 14:54
von Tompee
Oh sorry, da hatte ich nicht richtig hingeschaut.
Nun, der Fehler ist aber immer noch vorhanden. Lauter chinesische Zeichen.
In einer anderen Funktion, speichere ich den Inhalt aus dem gleichen TextCtrl in eine Datei. Da ist aber alles ok.
Verfasst: Donnerstag 15. November 2007, 14:57
von gerold
Tompee hat geschrieben:Nun, der Fehler ist aber immer noch vorhanden. Lauter chinesische Zeichen.
Hallo Tompee!
Ich glaube, in diesem Fall musst du dich an die "wxPython-users"-Mainlinglist wenden.
http://wxpython.org/maillist.php
mfg
Gerold

Verfasst: Donnerstag 15. November 2007, 15:02
von Tompee
Ok, danke nochmals, ein Fehler wurde ja wenigstens behoben
Ich glaube hier besteht das gleiche Problem:
http://aspn.activestate.com/ASPN/Mail/M ... rs/2011302
Verfasst: Donnerstag 15. November 2007, 15:27
von gerold
Hallo Tompee!
Das ist schon drei Jahre her. Ich würde einfach noch einmal nachfragen.
mfg
Gerold
