16

私は8つのフレームを含むTtkNotebookウィジェットを持っています-つまり、8つのタブです。各フレームにはテキストウィジェットが含まれています。ノートブックウィジェットの外にボタンがあり、このボタンが押されたときに現在のタブのテキストウィジェットにテキストを挿入したい。

これには、ノートブックのどのウィジェットが現在選択されているかを調べる必要があるようですが、これを行う方法が見つからないようです。現在選択されているタブを見つけるにはどうすればよいですか?

または、どうすれば自分がやりたいことを実装できますか?

それが役に立ったら、これが私のノートブックのコードです:

self.nb = Notebook(master)
self.nb.pack(fill='both', expand='yes', padx=10, pady=10)
self.frames = []
self.texts = []
for i in xrange(8):
  self.frames.append(Frame())
  self.nb.add(self.frames[i])
  self.texts.append(Text(self.frames[i]))
  self.texts[i].pack(fill='both')
4

5 に答える 5

35

メソッドを使用して、選択したタブを取得できますselect。ただし、このメソッドはtab_idを返しますが、これはそのままではあまり役に立ちません。index選択したタブの番号に変換します。

>>> nb.select()
'.4299842480.4300630784'
>>> nb.index(nb.select())
2

を使用して、選択したタブに関する詳細情報も取得できることに注意してくださいtab

>>> nb.tab(nb.select(), "text")
'mytab2'

ノートブックのリファレンスドキュメントをご覧ください:http://docs.python.org/3/library/tkinter.ttk.html#notebook

于 2012-12-23T16:43:30.217 に答える
1

私はまったく専門家ではありませんが、「新鮮な目」のお手伝いができれば幸いです。私はそれが何かに関係している可能性があると想像します

def buttonclick():
      somevariablename = focus_get()
      #Print your text into the somevariable notebook could be
      #something like(not sure about the syntax):
      focusednotebook = somevariablename
      focusednotebook.insert('1.0', 'your text here')

yourbutton = Button(parent, text = "button name", command = buttonclick)
yourbutton.pack()

それが機能するか、正しい方向に進むことを願っています。

私はここでPythonを使用するのはかなり新しいので、自由に編集してください:-)

于 2012-12-23T15:12:24.997 に答える