我是一种新的在这:Windows 7中,wxpython,未知字体重量
我的应用程序在Linux中,我开发它的伟大作品。我试图将它移植到win7之前,它使它成为一个exe(学校的心灵想要在她的电脑上使用它)。该应用程序的功能之一是改变字体大小以响应事件(在这种情况下,用户按下按钮)。
下面的代码:
if countfinal == 1:
on_start = time.time()
ot.append(on_start)
self.welcome.SetLabel("Timing On Task Event")
self.label_directions.SetLabel("Timing On Task Event")
self.SetBackgroundColour(wx.GREEN)
on.append(1)
font = wx.Font(18, wx.DEFAULT, wx.NORMAL, wx.DEFAULT, wx.FONTENCODING_SYSTEM)
self.label_directions.SetFont(font)
self.save_quit.Enable(False)
Windows 7中抛出了这个错误:
Traceback (most recent call last):
File "time.py", line 131, in time_event
font = wx.Font(18, wx.DEFAULT, wx.NORMAL, wx.DEFAULT, wx.FONTENCODING_SYSTEM)
File "C:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\_gdi.py", line 2081, in __init__
_gdi_.Font_swiginit(self,_gdi_.new_Font(*args, **kwargs))
wx._core.PyAssertionError: C++ assertion "wxAssertFailure" failed at ..\..\src \msw\font.cpp(560) in wxNativeFontInfo::Se
tWeight(): unknown font weight
我一直在读,它有一些与Windows不使用UTF-8。这很好,但它不能帮助我。
如何告诉wx使用Windows 7识别的字体编码?有人可以提供这样的代码示例吗?这个文档对我来说有点太神秘了。我仍然处于这个挣扎的新手阶段。
我猜wx.DEFAULT和wx.FONTFAMILY_DEFAULT映射到相同的值,可以互换使用。 – 2012-03-27 13:02:22
@MikeDriscoll,我认为你对他们被映射到相同的价值是正确的。对我来说,作为一名学习者很困难的是,接近同一职能有两种不同的惯例,除了简洁之外,对任何一种方法都没有明显/显着的优点或缺点。我喜欢FONTFAMILY_DEFAULT约定,因为它使得人类读者更清楚代码应该做什么。 – Josef 2012-03-31 21:16:08
我同意显式通常胜过隐式,特别是在学习新东西时。 – 2012-04-17 13:20:22