SetFont不断失败,参数不匹配 - Apple OS



我正在开发一个应用程序,它是Mac的十六进制编辑器,但是在更新TextCtrl时,我确实需要添加等宽字体,这些字体设置为多行只读控件。其中有 3 个,一个显示十六进制的偏移量,一个显示实际的原始字节,第三个显示原始文本。我通过以下方式设置了文本的前景色

self.mainTextArea.SetDefaultStyle(wx.TextAttr(wx.RED))

它运行良好,但无论我尝试设置字体多少次,它都会出错:

self.mainTextArea.SetFont(wx.Font(11, wx.FONTFAMILY_TELETYPE, wx.FONTSTYLE_NORMAL))
TypeError: Font(): arguments did not match any overloaded call:
overload 1: too many arguments
overload 2: argument 1 has unexpected type 'tuple'

以及另外七个超载的论点。我尝试将控件设置为静态文本,并使用标签作为要更新的文本、富文本控件等,但无论我如何更改 Ctrl,每当我设置字体时,它都会失败并出现上述错误。

文本控件和修改字体如下所示:

self.mainTextArea = wx.TextCtrl(panel,2, size=(630,650),style=wx.TE_READONLY|wx.VSCROLL|wx.HSCROLL|wx.TE_MULTILINE|
wx.TE_RICH2)
self.mainTextArea.SetFont(wx.Font(11, wx.FONTFAMILY_TELETYPE, wx.FONTSTYLE_NORMAL))
self.mainTextArea.SetBackgroundColour((0,0,0))
self.mainTextArea.SetDefaultStyle(wx.TextAttr(wx.RED))
vBoxMT.Add(self.mainTextArea, wx.EXPAND)

是否可以在Apple操作系统上更改字体,或者我做错了什么?

谢谢!

对不起YYC_CODE,我很着急,只是发表了评论。

提供字体的所有参数,即 SetFont(wx.字体(11, wx.FONTFAMILY_TELETYPE,wx。FONTSTYLE_NORMAL, font_weight, font_underline, font_name(。您缺少的 3 可以来自现有字体,也可以单独声明它们。

字体是确定文本外观的对象,主要是在将文本绘制到窗口或设备上下文时。字体由以下参数确定(当然,并非所有参数都必须指定(:

磅值 这是引用文本大小的标准方式。

家庭支持的家庭是:wx。默认,wx。装饰,wx。罗曼,WX。脚本,wx。瑞航,wx。摩登。WX.现代是一种固定间距字体;其他的要么是固定的,要么是可变的。

样式 该值可以是 wx。正常,wx。倾斜或 wx。斜体的。

重量 该值可以是 wx。正常,wx。光或wx。大胆。

下划线 值可以为"真"或"假"。

人脸名称 指定要使用的实际字体的可选字符串。如果为 None,将根据系列选择默认字体。

编码字体编码(请参阅 wx.FONTENCODING_XXX常量和字体编码以获取更多详细信息(

我认为只有最后 2/3 是可选的

最新更新