Найти - Пользователи
Полная версия: скролл для изображений и текста
Начало » GUI » скролл для изображений и текста
1
zlodiak
помогите пожалуйста разобраться почему на win7 в одном случае ползунок скролла показывается, а в другом - нет

следующий код выводит в виджете Text все картинки из каталога imgs
import os, sys
import tkinter
from PIL.ImageTk import PhotoImage
DIR_IMGS = 'imgs'
imgfiles = os.listdir(DIR_IMGS)
main = tkinter.Tk()
savephotos = []
outer = tkinter.Text(main, bg='yellow')
outer.pack(side='left')
sbar = tkinter.Scrollbar(outer)
sbar.pack(side='right', fill='y')
sbar.config(command=outer.yview)
outer.config(yscrollcommand=sbar.set)
for imgfile in imgfiles:
    imgpath = os.path.join(DIR_IMGS, imgfile)
    objImg = PhotoImage(file=imgpath)
    tkinter.Label(outer, image=objImg).pack()
    savephotos.append(objImg)
    outer.insert('end', imgpath + '\n')
    
main.mainloop()

в пределах окна видны лишь 2 картинки. теоретически чтобы увидеть остальные нужно прокрутить скролл вниз. но ползунка у скролла нет



если окно сжать по вертикали, то строки текста влияют на появление скролла. это показано на следующей картинке


мне это явление не понятно. объясните пожалуйста.


UPD
кажется, форум не отображает картинки полностью. вот ссылки на оригиналы
http://prozaik.16mb.com/misc/im.png
http://prozaik.16mb.com/misc/list.png
4kpt_II
Для таких вещей нужно использовать Canvas.create_window.

Будут вопросы - пишите…
postall_007
Подскажите пожалуйста что такое “скроллинг изображений” или киньте ссылку сайта. нужно сделать доклад. ни могу найти ничего путьнего. ???
Ryoga
postall_007
Подскажите пожалуйста что такое “скроллинг изображений” или киньте ссылку сайта. нужно сделать доклад. ни могу найти ничего путьнего. ???

Это типа того:


from Tkinter import *
root = Tk()
root.pack_propagate(False)
vscrollbar = Scrollbar(root, orient=VERTICAL)
hscrollbar = Scrollbar(root, orient=HORIZONTAL)
vscrollbar.pack(fill=Y, side=RIGHT, expand=FALSE)
hscrollbar.pack(fill=X, side=BOTTOM, expand=FALSE)
canvas = Canvas(root, yscrollcommand=vscrollbar.set,
                        xscrollcommand=hscrollbar.set,  width=2000, height=1200)
canvas.pack(side=LEFT, fill=BOTH, expand=TRUE)
canvas.config(scrollregion="0 0 2000 1200")
img = PhotoImage(file = 'green.pbm')
canvas.create_image(0,0, anchor='nw', image=img)
vscrollbar.config(command=canvas.yview)
hscrollbar.config(command=canvas.xview)
root.mainloop()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB