2017-02-18 16 views
0

我的目的是增加一個豎線到IDLE,表示在列優選線長度80。添加豎線或其他標記以特定的列以Tkinter的文本窗口小部件

我試圖找到一個配置選項文本tkinter小部件,將允許這個,但沒有發現任何東西。

我希望它是一個簡單的配置選項,所以我可以在Python \ Lib \ idlelib中找到的EditorWindow.py中添加另一個項目text_options字典。

我不確定樣式/主題是如何工作的,但他們是否有能力更改文本小部件中僅1列的背景顏色?

+0

什麼是「列欄」?你想把它添加到IDLE或你正在編寫的程序嗎? –

+0

文本小部件沒有列,所以不能,您不能更改列的背景。 –

+0

在vim中設置column = 80,在vscode中設置標尺。它只是表示首選線路長度。我想擴展IDLE,使其包含此行/欄。 – stevenhuyn

回答

0

大綱的可能的解決方案:

  • 創建1個像素寬的框架,用對比的背景顏色,文本的孩子。
  • 使用.place()將Frame放置在適當的水平座標處。

可能的問題:

  • 我看不出有什麼簡單的方法來獲得特定列的座標。 Text.bbox("1.80")看起來很有前途,但除非實際上已有80個字符,否則不起作用。您可能首先需要插入一個虛擬的80個字符的行,請致電update_idletasks以獲取文本以計算位置,請致電bbox獲取座標,然後刪除虛擬文本。每當顯示字體改變時重複。
  • 該行必定會出現在任何文本或選擇區域的頂部,這不像我期望的像這樣的功能的視覺外觀。
相關問題