0

質問

Tkinter フレーム全体を移動するスクロールバーを作成するにはどうすればよいですか? 注: Python 2.7.3 を使用しています。

コードと説明

スクロールバーを定義するためのこのコードがあります

        scrollbar = Scrollbar(soeg)
        scrollbar.pack(side=RIGHT, fill="y")

そして、テキストフレームを定義するためのこのコード

        h = 0
        s = 0
        for i in dom_nodup:

            abc = dom_nodup[h]
            text = Text(soeg, bg="brown", fg="white", height="10", width="60")          
            text.insert(INSERT, "%s \n" % abc[0])
            text.insert(END, "%s \n\n\n" % abc[1])
            text.pack()
            h += 1  
            s += 1

後で簡単に概要を確認できるように、テキスト エンティティごとに新しいテキストフレームが作成されます (入力を表示/非表示にするボタンを用意する予定です)。

スクロールバーはあるが機能しない

画像

4

2 に答える 2

0

ScrolledTextウィジェットを使用することをお勧めします。各テキストウィジェットにスクロールバーを自動的に追加し、 と同じ引数を持ちますText。これを行う方法の簡単な例を次に示します。

from Tkinter import * #Import the Tkinter module
from ScrolledText import ScrolledText #import the scrolled text module
message = "I \n am \n scroll \n able. \n\n\n\n\n\n Yes I am!"
class Application(Frame): #Create a frame for the widgets

    def __init__(self, master):  #initialize the grid and widgets
        Frame.__init__(self,master)
        self.grid()
        self.widgets()
    def widgets(self):
        self.mytext = ScrolledText(self, width = 10) #Creates the widget
        self.mytext.grid() #Places it


root = Tk()
root.title("My Text Example")
#make my screen dimensions work

root.geometry("500x1000")
app = Application(root)

root.mainloop()

詳細については、Tkinterbookとこの質問を参照してください。

于 2013-03-01T12:27:29.677 に答える
0

スクロールバーを機能させるには、2 つのことを行う必要があります。スクロールするスクロール可能なウィジェットを指定する必要があります。また、現在の位置で更新するスクロールバーをスクロール可能なウィジェットに指定する必要があります。

scrollbar.configure(command=text.yview)
text.configure(yscrollcommand=scrollbar.set)
于 2013-03-01T12:48:05.627 に答える