【wxpython】StyledTextCtrl的样式应该如何设置

syhhl123 2013-06-14 09:17:21
self.notebook = fnb.FlatNotebook(self.panel,-1,agwStyle = fnb.FNB_X_ON_TAB)
self.control = wx.stc.StyledTextCtrl(self.notebook,style=wx.TE_MULTILINE|wx.TE_LINEWRAP)

#下面这句执行错误,因为StyledTextCtrl没有这个样式方法,不知道StyledTextCtrl应该用什么函数,查了半天也没发现哪个合适。请指点StyledTextCtrl的样式设置是怎么用的。
self.control.SetStyle(-1,-1,wx.TextAttr("wx.TE_WORDWRAP"))
...全文
457 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
syhhl123 2013-06-16
  • 打赏
  • 举报
回复
好人啊,真是感谢
angel_su 2013-06-16
  • 打赏
  • 举报
回复
前面3楼说了,带wx前缀是在c++里用的名称,python模块里的名称作了修改。其实,说到底就是一个整形常量,control.SetWrapMode(1)这样写也行的... >>> import wx.stc >>> help(wx.stc) ... STC_WRAP_CHAR = 2 STC_WRAP_NONE = 0 STC_WRAP_WORD = 1 ...
syhhl123 2013-06-16
  • 打赏
  • 举报
回复
谢谢指点,但是我不明白,文档里wxSTC_WRAP_WORD是wxStyledTextCtrl的样式,为什么会在styledTextCtrl里可以用STC_WRAP_WORD呢?styledTextCtrl里不是没有这种样式吗?
angel_su 2013-06-16
  • 打赏
  • 举报
回复
import wx import wx.stc as stc import wx.lib.agw.flatnotebook as fnb ... self.notebook = fnb.FlatNotebook(self.panel,agwStyle=fnb.FNB_X_ON_TAB) control = stc.StyledTextCtrl(self.notebook) control.SetWrapMode(stc.STC_WRAP_WORD) ... self.notebook.AddPage(control,'titleXXX', True)
syhhl123 2013-06-15
  • 打赏
  • 举报
回复
import wx.stc self.control = wx.stc.wxStyledTextCtrl(self.notebook,style=wxVSCROLL | wxHSCROLL) 这么写为什么有错误,找不到这个类。 File "D:\program_py\notepad\edit.py", line 279, in <module> frame = NotBookMainFrame(None,"无标题 - 记事本") File "D:\program_py\notepad\edit.py", line 28, in __init__ self.control = wx.stc.wxStyledTextCtrl(self.notebook,style=wxVSCROLL | wxHSCROLL) AttributeError: 'module' object has no attribute 'wxStyledTextCtrl'
syhhl123 2013-06-15
  • 打赏
  • 举报
回复
你的意思是在要在创建对象时就把self.control = wx.stc.StyledTextCtrl(self.notebook,style=wx.TE_MULTILINE|wx.TE_LINEWRAP)修改为 self.control = wx.stc.wxStyledTextCtrl(............)吗?
angel_su 2013-06-15
  • 打赏
  • 举报
回复
看看 http://www.yellowbrain.com/stc/layout.html StyledTextCtrl是调用SCIntilla第三方库,有一堆专用api...
angel_su 2013-06-15
  • 打赏
  • 举报
回复
wxStyledTextCtrl是c++类名,python里不能完全照抄不然就像你说的会提示未定义错误,一般是把这个模块导入到stc名称空间下: import wx.stc as stc 然后wxXXX的c++名称,对应改成stc.XXX即可。
syhhl123 2013-06-15
  • 打赏
  • 举报
回复
你给的链接是wxStyledTextCtrl的,它和我用的StyledTextCtrl有什么联系? 我直接调用self.control.SetWrapMode显示未定义的错误。应该怎么写?

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧