我正在使用IDLE在Windows 7上学习Python 2.7。
垂直滚动条工作正常,但我找不到 一种激活水平滚动条的方法。
Python的IDLE中是否有水平滚动条?
谢谢
IDLE的水平滚动条
来自http://code.activestate.com/lists/python-list/26878/(不是我的代码,在这个网站上找到它)它的日期是2000年3月8日星期三
适用于Python 2.6但我无法在2.7中工作。我收到一个错误,说该文件在某处打开。对我来说,他所谈论的文件位于:C:\ Python27 \ ArcGIS10.1 \ Lib \ idlelib如果你没有python附带的ArcMap程序并为你安装它,那将会有所不同。
我终于开始在IDLE编辑器窗口中添加水平滚动条,以便在获得那些LONG代码行时提供帮助。它们的变化相当于mionor(4行新代码),并在EditorWindow.py模块中进行。要在IDLE中进行更改,请打开EditorWindow.py并搜索“vbar”,它位于EditorWindow类
__init__
方法中。添加那些附加了###
的行和你拥有它的VOILA。不幸的是,滚动条显示在IDLE 0.5(叹气)中的行和列信息之下。self.vbar = vbar = Scrollbar(top, name='vbar') self.hbar = hbar = Scrollbar(top, orient=HORIZONTAL, name='hbar') ### ... vbar['command'] = text.yview vbar.pack(side=RIGHT, fill=Y) hbar['command'] = text.xview ### hbar.pack(side=BOTTOM, fill=X) ### text['yscrollcommand'] = vbar.set text['xscrollcommand'] = hbar.set ###
希望这是有帮助的。
乔纳森波利
jwpolley at collins.rockwell.com
ID。IDLE没有水平滚动条有两个原因:
我可能不是Python专家/专家,但这个问题比任何事情都更具用户体验/可用性问题。有些人可能会说“是的,PEP 8风格指南......等等等等”,但如果我将IDLE窗口设置为一定大小(比方说小宽度),我就没有理由认为用户不应该滚动。由于设计不佳,这只是糟糕的用户体验。
不,文本根据插入点或选择的位置水平滚动。
见http://bugs.python.org/issue1207613
IdleX项目提供了在IDLE中显示水平滚动条的扩展。
我正在使用IDLE 2.7.3,Windows 7,我可以通过按住鼠标中键/滚轮来水平滚动,并像这样“拖动”光标。
不,因为Python PEPs emphasize,该行长度最多应为79个符号。当然,大多数人都违反了这一点。
适用于IDLE的水平滚动条,适用于Python 3.6。
感谢Amber和他/她的回答,我找到了让它适用于Python 3.6的方法。
你必须在同一个类EditorWindow
中进行一些更改,但现在它位于一个不同的模块:%editor @py \ lib \ idlelib \(win)中的“editor.py”。
首先,您必须使用相同的方法__init__
进行更改。然后为同一个类创建一个新方法handle_xview
。
这是代码,你必须添加以###
结尾的行:
self.vbar = vbar = Scrollbar(text_frame, name='vbar')
self.hbar = hbar = Scrollbar(text_frame, orient=HORIZONTAL, name='hbar') ###
...
vbar['command'] = self.handle_yview
vbar.pack(side=RIGHT, fill=Y)
text['yscrollcommand'] = vbar.set
hbar['command'] = self.handle_xview ###
hbar.pack(side=BOTTOM, fill=X) ###
text['xscrollcommand'] = hbar.set ###
方法:
...
def handle_yview(self, event, *args):
...
...
def handle_xview(self, event, *args): ###
"Handle Horizontal scrollbar." ###
self.text.xview(event, *args) ###
return 'break' ###
...