我正在将wxPython用于我的GUI。在使用“ Segoe UI”作为默认字体的Windows PC上,一切看起来都不错。我的一个同事在中国工作,具有不同的系统默认字体。我不知道它怎么称呼,但是它弄乱了我的GUI中的空格。我尝试修复其中的大多数问题,但也尝试使用中文字体修复ListCtrls等。
因此,我寻找一种方法来覆盖wx应用程序正在使用的默认字体,以防止我为每个小部件更改它。
我试图这样覆盖它:
self.SetFont(wx.Font(9, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False,'Segoe UI'))
但是这主要是在面板上,而不是ListCtrls。
我可以获得这样的默认字体:
import wx
class MyFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, "", size=(600,300))
fnt = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)
wx.SystemSettings.
print(fnt.GetFaceName())
app = wx.App()
frame = MyFrame(None)
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()
但是我不能以任何方式更改它。
更改面板的字体应该可以。您确定listCtrl是面板的子级吗?