2016-10-25 15 views
1

データベースの結果を表示するのにtreeviewを使用しようとしていますか?私は別のファイルでtreeviewをテストし、それはうまく動作しますが、私は私のデータベースの結果を表示しようとすると、それは奇妙なカットオフ。データベースの結果が表示されないTkinterツリービュー

# Works 
Tree = ttk.Treeview(columns = Fields, show = "headings") 
Tree.grid(in_ = self.Canvas) 

# This piece of code does work 
for Column in Fields: 
    Tree.heading(Column, text = Column.title()) 

# Instead of cutting at each item it cuts whenever it sees a space 
for Item in Results: 
    print(Item) 
    Tree.insert('', 'end', values = Item) 

結果内の各項目の代わりに、空白が見つかるたびに切り捨てられます。それはあなたがまだ(「テキストを、...」)を参照してください結果

('87 Xbox Ville', 'Soham', '09458934873', '[email protected]') 
('78 Test Town', 'Essex', '07903489451', '[email protected]') 
('58 Play Row', 'Soham', '07907849327', '[email protected]') 

を表示したときにも、これらは、彼らがゼロにスペースが、アドレスラインを持っている場合、彼らは仕事、私は(データベースからプル)しているタプルです1はそれを混乱させる。

EDIT を助けてください、私は結果をプリントアウトし、出力をコピーして、変数として設定し、それが動作します:/私は結果を使用カント?

答えて

0

チェックThis linkを出力します。それは各列のiterableを取るTreeviewと関係がある。説明は最初の答え「第3の質問:太字の太字で」です。

編集:

私は[3]複数の単語があった場合:

for i in Results: 
     print(i) 
     temp = i[3] 
     tree.insert("", "end", values=((i[0]), (i[1]), temp)) 
+0

をただ、これを読んで。私は完全に理解していないiid =。あなたは説明できますか? –

+0

iidは単なる識別子です。あなた自身で指定することも、tkinterに実行させることもできます。行の識別子です。あなたのテーブルの最初の行にデータとして['John'、 'Brown']と入力します。 tkinterはiidに1を付けます。このiidを使用すると、クリックされた行を見つけてデータを取得するなどの操作を実行できます。 – B3Caballero

+0

iidの部分を無視するだけで、tkinterはテーブルに自動的に割り当てます。それはあなたがこのデータにアクセスする必要があるまでです。 – B3Caballero

関連する問題