wxPython和STC页边距-顶部和底部
有没有办法在我的程序3和4的顶部和底部实现填充 或者是否有类似添加\n等的解决方法wxPython和STC页边距-顶部和底部,python,wxpython,wxwidgets,scintilla,Python,Wxpython,Wxwidgets,Scintilla,有没有办法在我的程序3和4的顶部和底部实现填充 或者是否有类似添加\n等的解决方法 我觉得如果行号和样式文本太接近顶部和底部。不,我认为斯金塞拉没有控制顶部和底部边距大小的属性 如何使用相同颜色的面板嵌套在施胶器中作为一个肮脏的解决方法 import wx import wx.stc as stc class MainWindow(wx.Frame): def __init__(self, *args, **kwargs): wx.Frame.__init__(self
我觉得如果行号和样式文本太接近顶部和底部。不,我认为斯金塞拉没有控制顶部和底部边距大小的属性 如何使用相同颜色的面板嵌套在施胶器中作为一个肮脏的解决方法
import wx
import wx.stc as stc
class MainWindow(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
self.panel = wx.Panel(self)
self.text = stc.StyledTextCtrl(self.panel)
self.text.SetWindowStyle(self.text.GetWindowStyle() | wx.NO_BORDER)
self.text.StyleSetSpec(stc.STC_STYLE_DEFAULT, "size:15,face:Courier New")
self.text.SetWrapMode(stc.STC_WRAP_WORD)
self.text.SetMarginLeft(50)
self.text.StyleSetSpec(stc.STC_STYLE_LINENUMBER, "back:#FFFFFF")
self.menu = wx.Menu()
self.menu.Append(wx.ID_ABOUT, "&About", "Information about this program")
self.menu_bar = wx.MenuBar()
self.menu_bar.Append(self.menu, "&File")
self.SetMenuBar(self.menu_bar)
self.panel_top = wx.Panel(self.panel, size = (20, -1))
self.panel_top.SetBackgroundColour(wx.WHITE)
self.panel_bottom = wx.Panel(self.panel, size = (20, -1))
self.panel_bottom.SetBackgroundColour(wx.WHITE)
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.panel_top, 0, wx.ALL | wx.EXPAND)
self.sizer.Add(self.text, 1, wx.ALL | wx.EXPAND)
self.sizer.Add(self.panel_bottom, 0, wx.ALL | wx.EXPAND)
self.border = wx.BoxSizer()
self.border.Add(self.sizer, 1, wx.ALL | wx.EXPAND, border=20)
self.panel.SetSizerAndFit(self.border)
self.text.Bind(stc.EVT_STC_CHANGE, self.OnChange)
self.Show()
self.text.SetText("Line!\n"*3)
def OnChange(self, e):
lines = self.text.GetLineCount()
width = self.text.TextWidth(stc.STC_STYLE_LINENUMBER, str(lines)+" ")
self.text.SetMarginWidth(0, width)
if __name__ == "__main__":
app = wx.App(False)
win = MainWindow(None)
app.MainLoop()
对于您的代码,请按如下方式修改它:
self.panel_top = wx.Panel(self.panel, size = (20, -1))
self.panel_top.SetBackgroundColour(wx.BLACK)
self.panel_bottom = wx.Panel(self.panel, size = (20, -1))
self.panel_bottom.SetBackgroundColour(wx.BLACK)
#### Add the STC to a Sizer. ####
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.panel_top, 0, wx.EXPAND,border=20)
sizer.Add(self.text, 1, wx.EXPAND,border=20)
sizer.Add(self.panel_bottom, 0, wx.EXPAND,border=20)
self.panel.SetSizer(sizer)
这是我当前的代码。我将如何实施它?尺码表把我搞糊涂了。我已经在你的代码中添加了黑客。你应该真正学会如何使用施胶器,因为它们是wxPython的基础。我正在慢慢地学习,它有点让人困惑。。我可能需要画一张图表,看看它是如何工作的。。谢谢你!此外,是否可以实现自定义(更简单)滚动条而不是经典的windows滚动条?我想要的只是上下滚动箭头不同的颜色,滚动背景不同的颜色和实际的滚动块本身更苗条?我不喜欢风格化的应用程序,所以我不知道。一些你必须自己学习的东西。