обход Python Scroll - PullRequest
       13

обход Python Scroll

3 голосов
/ 09 января 2012

Я склонен использовать метки для всего, что связано с текстом в моих программах на Python. После кодирования очень длинной метки для примерно 50 ссылок, я застрял в окне верхнего уровня с меткой из нескольких строк, требующей полосы прокрутки, а метки не прокручиваются.

У меня есть полоса прокрутки в окне, но она не прокручивается. Есть ли обходной путь для прокрутки вверх и вниз моей «текстовой» метки или мне нужен другой виджет для размещения в моем окне верхнего уровня?

        filewin = Toplevel(background="white")

        scrollbar=Scrollbar(filewin)
        scrollbar.pack(side=RIGHT, fill=Y)
        yscrollcommand=scrollbar.set 


        Label(filewin, text=". . .\n \
    Acidophilium \n\
            Wichlacz,P.L., Unz,R.F., Langworthy,T.A. 1986. Acidiphilium angustum sp. nov. Acidiphilium facilis sp. nov. and Acidiphilium vubrum sp. nov. : \n\
                Acidophilic Heterotrophic Bacteria Isolated from Acidic Coal Mine Drainage. Int J Syst Bacteriol 36:197-201. \n\
    Acinetobacter \n\
            Bouvet,P.J.M., Grimont,P.A.D. 1986. Taxonomy of the Genus Acinetobacter with the Recognition of Acinetobacter baumannii sp. nov. Acinetobacter haemolyticus sp. \n\
                nov. Acinetobacter johnsonii sp. nov. and Acinetobacter junii sp. nov. and Emended Descriptions of Acinetobacter calcoaceticus and Acinetobacter lwofii. \n\
                Int J Syst Bacteriol 36:228-240.",
        justify=LEFT, background="white", foreground="black", wraplength=1000).pack()
        filewin.title("Matrix References")

1 Ответ

3 голосов
/ 09 января 2012

Вы не можете использовать полосу прокрутки с меткой.
Вместо этого используйте Text:

from Tkinter import *

root = Tk()

mytext = "Here_your very long text"

scrbar = Scrollbar(root, orient=VERTICAL)
scrbar.pack(side=RIGHT,fill=Y)

text = Text(root, width=80, height=10, state=NORMAL, background="white", foreground="black")
text.insert(INSERT, mytext)
text['state'] = DISABLED
text.pack()

text['yscrollcommand'] = scrbar.set
scrbar['command'] = text.yview

root.title("Matrix References")
root.mainloop()

Это приводит (возможно, вам следует адаптировать текстовый формат):

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...