私はWindows 7のPython 2.7でTkinterを使用しています。ツリースタイルのチェックボックスリストを持つポップアップボックスを作成する必要があることがわかりました。私はTkinter、またはttkでこれを見つけることができませんでした。私は、TixのCheckListウィジェットでそれを見つけました。私はTixを使ってスタンドアロンの実例を作っていますが、自分のメインプログラムを制御するttk.FrameにTix.CheckListを追加する方法がわかりません。TkinterコンテナにTixウィジェットを追加する
確かに私はTixフレームワークを根本的に使用する必要はありませんか?
import Tix
import pandas as pd
import Tkinter as tk
class TreeCheckList(object):
def __init__(self, root):
self.root = root
self.cl = Tix.CheckList(self.root)
self.cl.pack(fill=Tix.BOTH, expand=Tix.YES)
self.cl.hlist.config(bg='white', bd=0, selectmode='none', selectbackground='white', selectforeground='black', drawbranch=True, pady=5)
self.cl.hlist.add('ALL', text='All Messages')
self.cl.hlist.add('ALL.First', text='First')
self.cl.setstatus('ALL.First', "off")
self.cl.hlist.add('ALL.Second', text='Second')
self.cl.setstatus('ALL.Second', "off")
self.cl.autosetmode()
def main():
root = Tix.Tk()
top = Tix.Toplevel(root)
checklist = TreeCheckList(top)
root.update()
top.tkraise()
root.mainloop()
if __name__ == '__main__':
main()
上記のコードは、すべてのTixウィジェットを使用するスタンドアロンプログラムで動作します。私は私を期待していた
root = tk.Tk()
top = tk.Toplevel(root)
に
root = Tix.Tk()
top = Tix.Toplevel(root)
:しかし、私は私の大きなプログラムにこれを実装しようとすると、私はスタンドアロンでこれをシミュレートするためにTclError: invalid command name "tixCheckList"
を受け、私はラインを変更しましたTix.Top()を実装してtk.Tk()ルートに置くこともできますが、同じ問題です。
私はTixフレームを使用するときにのみTixフレームを使用できますか、何かを誤解していますか?誰かが良いTixのドキュメントを持っているなら、私は何でも得ることが大好きです。それは良い文書の上にそれほど多くないと思われます。それともttkに含まれているこの同じ機能ですか?それを見落としましたか?それは残された唯一のもののようです。