# File: unicodeout.py from tkinter import * from tkinter import ttk from demopanels import MsgPanel, SeeDismissPanel class UnicodeLabelDemo(ttk.Frame): def __init__(self, isapp=True, name='labeldemo'): ttk.Frame.__init__(self, name=name) self.pack(expand=Y, fill=BOTH) # resizeable self.master.title('Label with Unicode Demo') self.isapp = isapp self._create_widgets() def _create_widgets(self): if self.isapp: MsgPanel(self, ["This is a sample of Tk's support for languages that uses ", "non-Western character sets. However, what you will actually see ", "below depends largely on the character sets you have installed; ", "and what you see for characters that are not present varies greatly ", "between platforms as well. The strings are written as ", "UNICODE escaped characters ( \\uXXXX ), making them portable."]) SeeDismissPanel(self) self._create_demo_panel() def _create_demo_panel(self): demoPanel = Frame(self) demoPanel.pack(expand=Y, fill=BOTH, padx=25) row = 0 for k,v in sorted(SAMPLES.items()): # anchor keeps text left aligned in grid cell Label(text=k, anchor=NW).grid(in_=demoPanel, sticky=EW, pady=0, row=row, column=0) Label(text=v, anchor=NW, font=("Helvitica", 12, 'italic')).grid(in_=demoPanel, sticky=EW, pady=0, row=row, column= 1) row += 1 demoPanel.columnconfigure(1, weight=1) # sample language strings SAMPLES = {"Arabic": "\u0627\u0644\u0643\u0644\u0645\u0629 " \ "\u0627\u0644\u0639\u0631\u0628\u064A\u0629", "Trad. Chinese": "\u4E2D\u570B\u7684\u6F22\u5B57", "Simp. Chinese": "\u6C49\u8BED", "Greek": "\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AE " \ "\u03B3\u03BB\u03CE\u03C3\u03C3\u03B1", "Hebrew": "\u05DB\u05EA\u05D1\u05E2\u05D1\u05E8\u05D9\u05EA", "Japanese": "\u65E5\u672C\u8A9E\u306E\u3072\u3089\u304C\u306A, " \ "\u6F22\u5B57\u3068\u30AB\u30BF\u30AB\u30CA", "Korean": "\uB300\uD55C\uBBFC\uAD6D\uC758 \uD55C\uAE00", "Russian": "\u0420\u0443\u0441\u0441\u043A\u0438\u0439 \u044F\u0437\u044B\u043A" } if __name__ == '__main__': UnicodeLabelDemo().mainloop()
Saturday, July 21, 2012
Tkinter Labels with Unicode
This demo is based on the Tcl unicodeout.tcl demo.
Labels:
Tkinter Demos,
Tkinter Label