wxPython-是否可以覆盖系统默认字体?

问题描述 投票:0回答:1

我正在将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()

但是我不能以任何方式更改它。

fonts wxpython
1个回答
0
投票

更改面板的字体应该可以。您确定listCtrl是面板的子级吗?

© www.soinside.com 2019 - 2024. All rights reserved.