gpt4 book ai didi

python - 我可以控制 StyledTextCtrl 边距的字体大小吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:10:42 28 4
gpt4 key购买 nike

我稍微减小了 StyledTextCtrl 的字体大小,但不影响文本控件页边距的字体大小,即行号字体:

Example

有什么方法可以控制页边距中的字体大小吗?

<小时/>

对于那些感兴趣的人,这是我的子类:

class CustomTextCtrl(StyledTextCtrl):
"""A `StyledTextCtrl` subclass with custom settings."""
def __init__(self, *args, **kwargs):
StyledTextCtrl.__init__(self, *args, **kwargs)

# Set the highlight color to the system highlight color.
highlight_color = wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT)
self.SetSelBackground(True, highlight_color)

# Set the font to a fixed width font.
font = wx.Font(12, wx.FONTFAMILY_TELETYPE, wx.FONTSTYLE_NORMAL,
wx.FONTWEIGHT_NORMAL, False, 'Consolas',
wx.FONTENCODING_UTF8)
self.StyleSetFont(0, font)

# Enable line numbers.
self.SetMarginType(1, wx.stc.STC_MARGIN_NUMBER)
self.SetMarginMask(1, 0)
self.SetMarginWidth(1, 25)

def SetText(self, text):
"""Override of the `SetText` function to circumvent readonly."""

readonly = self.GetReadOnly()
self.SetReadOnly(False)
StyledTextCtrl.SetText(self, text)
self.SetReadOnly(readonly)

def ClearAll(self):
"""Override of the `ClearAll` function to circumvent readonly."""

readonly = self.GetReadOnly()
self.SetReadOnly(False)
StyledTextCtrl.ClearAll(self)
self.SetReadOnly(readonly)

最佳答案

您为 StyleSetFont 使用了错误的样式编号。您可能想使用:

self.StyleSetFont(wx.stc.STC_STYLE_DEFAULT,font)

其值为 32 而不是 0。如果要单独设置行号的字体,请使用:

self.StyleSetFont(wx.stc.STC_STYLE_LINENUMBER,font)

参见wxStyledTextCtrl - Styling & Style Definition了解更多详情。

关于python - 我可以控制 StyledTextCtrl 边距的字体大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13067191/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com