这个用于文本控件的简单代码段在macOS(顶部)和带有wxPython 4.0.4的Windows上产生了截然不同的结果。我该如何缓解呢?
self.console_ctrl = wx.TextCtrl(panel, style=wx.TE_MULTILINE | wx.TE_READONLY | wx.HSCROLL)
self.console_ctrl.SetFont(wx.Font(13, wx.FONTFAMILY_TELETYPE, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
self.console_ctrl.SetBackgroundColour(wx.BLACK)
self.console_ctrl.SetForegroundColour(wx.RED)
self.console_ctrl.SetDefaultStyle(wx.TextAttr(wx.RED))
Windows上的字体似乎更大。不用管屏幕截图质量差;必须与在VirtualBox中运行的Windows有关。
注意:这是交叉发布到https://groups.google.com/forum/#!topic/wxpython-users/j3HFo_-SeaU
答案 0 :(得分:0)
您需要在代码中使用完整的操作系统,并为每种代码设置正确的字体,有关示例,请查看wxPython演示
答案 1 :(得分:0)
最终决定性的改进是使用像素而不是点来定义字体。
self.console_ctrl.SetFont(wx.Font((0, 13), wx.FONTFAMILY_TELETYPE, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
请注意,(重载)wx.Font
constructor的第一个参数现在是wx.Size
而不是整数。