我是一種新的在這: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