免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11661 | 回复: 5
打印 上一主题 下一主题

tkinter的控件无法显示中文 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-05 13:40 |只看该作者 |倒序浏览
兄弟已经到处搜索过了,没答案。
debian etch python2.4.4
text控件内无法显示中文,显示的都是\uXXXX。
也encode了,也unicode过,统统没用。
相同的源程序win下没问题。

论坛徽章:
0
2 [报告]
发表于 2008-04-05 13:49 |只看该作者
给要显示的字符转换一下码型就可以了.
例如:
    a = '中文显示'
      a.decode('gbk')

论坛徽章:
0
3 [报告]
发表于 2008-04-05 14:08 |只看该作者

回复 #2 sinco449 的帖子

content=content.decode('gbk')
print content

text.delete('1.0', END)

text.insert('1.0',content)

终端输出:
黑客
text控件内显示:
\u9ed1\u5ba2
说明解码已经完成,就是text控件无法显示。

论坛徽章:
0
4 [报告]
发表于 2008-04-05 20:21 |只看该作者
我是在XP下使用python的,所以就使用gbk码型.至于Unix下中文如何显示中文我就不知道了.可能是Unix使用的是utf-8吧的

论坛徽章:
0
5 [报告]
发表于 2008-04-05 23:15 |只看该作者
locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8

程序
#-*-   coding:   utf-8   -*-
import Tkinter
top=Tkinter.Tk()
a="大家好"
#a = unicode(a, "gb2312")
#a=a.decode("gb2312")
hello=Tkinter.Label(top,text=a)
print a
hello.pack()
quit=Tkinter.Button(top,text='QUIT',command=top.quit)
quit.pack()
Tkinter.mainloop()
程序用gedit编辑,选择保存的时候指定字符编码:UTF-8。
终端显示
大家好
窗口上的label上显示\u5927\u5bb6\u597d

网上很多帖子都能在linux+python+tkinter下运行好好的,难道debian就不行?:)

论坛徽章:
0
6 [报告]
发表于 2008-04-06 11:50 |只看该作者
搞定

#-*- coding: utf-8 -*-
import Tkinter
import tkFont
top=Tkinter.Tk()
a="大家好"
#a = unicode(a, "gb2312")
#a=a.decode("gb2312")
myFont = tkFont.Font(size=15)
hello=Tkinter.Label(top,text=a,font=myFont)
print a
hello.pack()
quit=Tkinter.Button(top,text='QUIT',command=top.quit)
quit.pack()
Tkinter.mainloop()

在我的机子上size的值如果<=12就是\uXXXX,否则就能显示。
估计是tkinter的某个字体设置问题,小于多少就不显示。
真诡异。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP