2017-08-25 16 views
0

私はニュースフィードのようなことをしようとしていますが、もっと簡単です。アイテムは上部から取り込まれ、古いアイテムはプッシュダウンされます。私はAdding a scrollbar to a group of widgets in Tkinterからの参照を取っていますが、これは新しい項目を下に追加し、最新のものが常に上に追加され、古いものが下に追加されるようにできませんでした。前もって感謝します。 私はこれはこれまで持っている:トップのtkinterにスクロールアイテムを追加する

import Tkinter as tk 
from Tkinter import * 
import PIL 
from PIL import Image, ImageTk 

root = tk.Tk() 

canvas = tk.Canvas(root, borderwidth=0, background="#ffffff") 
frame = tk.Frame(canvas, background="#ffffff") 
vsb = tk.Scrollbar(root, orient="vertical", command=canvas.yview) 
canvas.configure(yscrollcommand=vsb.set) 

vsb.pack(side="right", fill="y") 
canvas.pack(side="left", fill="both", expand=True) 
canvas.create_window((4,4), window=frame, anchor="nw") 

row=0 

def populate(frame): 
    global row 
    row += 1 

      #image files 
    imfile = "potato.jpeg" 
    im=Image.open(imfile) 
    resized=im.resize((50,50), PIL.Image.ANTIALIAS) 
    tkimage = ImageTk.PhotoImage(resized) 

    t="the item number %s \t\t" %row 


    tk.Label(frame, text=t, compound=tk.RIGHT).pack() 

def onFrameConfigure(canvas): 
    '''Reset the scroll region to encompass the inner frame''' 
    canvas.configure(scrollregion=canvas.bbox("all")) 

def update_status(): 
    populate(frame) 
    root.after(1000, update_status) 


root.after(1000, update_status) 
frame.bind("<Configure>", lambda event, canvas=canvas: onFrameConfigure(canvas)) 
root.geometry("500x500") 
root.mainloop() 
+0

何 "fbは" の略ですか?また、あなたが試したことを示す[mcve]を作成してください。 "M"と "C" –

+0

のfacebookに注意を払うか、ニュースフィードにすることができます。基本的にスタックを意味していました。あなたのアイテムの上に追加された最新のアイテムは、 –

+0

'.pack(side =" top ")'です。これは明らかな解決策です。 – jasonharper

答えて

0

みんなありがとう、私はそれを見つけた:

tk.Label(frame, text=t,image=tkimage, compound=tk.RIGHT).pack(side="bottom") 
b=Button(frame, text="see more for %s" %row, command=new_window).pack(side="bottom") 
関連する問題