2

IDLE を使用して、Windows 7 で Python 2.7 を学習しています。


垂直スクロール バーは正常に機能しますが、水平スクロール バーを有効にする方法が 見つかりません。

PythonのIDLEに水平スクロールバーはありますか?

ありがとう

4

8 に答える 8

5

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エディターウィンドウに水平スクロールバーを追加して、これらの長いコード行を取得するときに役立つようにしました。それらの変更はかなりミオナー(4行の新しいコード)であり、EditorWindow.pyモジュールで行われました。IDLEで変更を行うには、EditorWindow.pyを開き、EditorWindowクラスの__init__メソッドにある「vbar」の検索を実行します。それらに追加されたそれらの行を### 追加し、あなたがそれを持っている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   ###

これがお役に立てば幸いです。

ジョナサン・ポーリー

collins.rockwell.comのjwpolley

于 2012-05-02T18:30:26.497 に答える
2

私は IDLE 2.7.3、Windows 7 を使用しています。中央のマウス ボタン/スクロール ホイールを押したままにして、そのようにカーソルを「ドラッグ」することで、水平方向にスクロールできます。

于 2015-04-17T05:58:14.227 に答える
2

いいえ。 IDLE には、次の 2 つの理由から水平スクロールバーがありません。

  1. そのテキスト エディターにはほとんど機能がありません。
  2. 長いコード行を書くべきではありません。PEP 8 Style Guide for Python CodeのMaximum Line Lengthセクションを参照してください。
于 2012-04-24T15:35:19.580 に答える
2

私はまだ Python の専門家/第一人者ではないかもしれませんが、この質問は何よりもユーザー エクスペリエンス/ユーザビリティに関する質問です。「うん、PEP 8スタイルガイド...何とか何とか」と言う人もいるかもしれませんが、IDLEウィンドウを特定のサイズ(幅が狭いとしましょう)にすると、ユーザーとしてスクロールできないはずがありません。貧弱なデザインの結果として、単純にユーザー エクスペリエンスが貧弱になります。

于 2015-07-11T03:37:02.543 に答える
1

See http://bugs.python.org/issue1207613

The IdleX project provides an extension for displaying a horizontal scroll bar in IDLE.

于 2012-10-25T03:22:32.257 に答える
1

いいえ、テキストは挿入ポイントまたは選択範囲に基づいて水平にスクロールします。

于 2012-04-24T15:33:26.737 に答える
0

Python 3.6 用の IDLE の水平スクロール バー。

Amber と彼/彼女の回答のおかげで、Python 3.6 で動作させる方法を見つけました。

同じクラスEditorWindowでいくつかの変更を行う必要がありますが、現在は別のモジュールにあります: %python%\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'                         ###
...
于 2019-02-18T20:58:55.513 に答える
0

いいえ、Python PEPは を強調しているため、その行の長さは最大で 79 シンボルにする必要があります。もちろん、ほとんどの人はこれに違反しています。

于 2012-04-24T15:37:27.007 に答える