Как переместить полосу прокрутки внутрь текстового виджета - PullRequest
0 голосов
/ 02 июня 2018

У меня есть этот код

from tkinter import *

   root = Tk()
   root.geometry("1200x1000+30+30")
   # width x height + x_offset + y_offset:
   T = Text(root, height=10, width=100)
   T.place(x=20, y=30)
   for i in range(40):
      T.insert(END, "This is line %d\n" % i)


   yscroll = Scrollbar(command=T.yview, orient=VERTICAL)
   T.configure(yscrollcommand=yscroll.set)
   yscroll.pack(side="right", fill="y", expand=False)

   root.mainloop()

Полоса прокрутки находится на рамке окна. Можно ли переместить ее внутрь и к правому краю текстовой области?

1 Ответ

0 голосов
/ 02 июня 2018

Возможно, есть другой способ, но я бы использовал виджет ScrolledText, содержащийся в tkinter.scrolledtext.

from tkinter import *
import tkinter.scrolledText

root = Tk()
root.geometry("1200x1000+30+30")
# width x height + x_offset + y_offset:
T = ScrolledText(root, height=10, width=100)
T.place(x=20, y=30)
for i in range(40):
    T.insert(END, "This is line %d\n" % i)

root.mainloop()

. Он автоматически помещает полосу прокрутки в текстовое поле.

С этот ответ Я также получил, что вы можете использовать place вместо pack для позиционирования полосы прокрутки, а затем использовать in_=T:

from tkinter import *

root = Tk()
root.geometry("1200x1000+30+30")
# width x height + x_offset + y_offset:
T = Text(root, height=10, width=100)
T.place(x=20, y=30)
for i in range(40):
    T.insert(END, "This is line %d\n" % i)


yscroll = Scrollbar(command=T.yview, orient=VERTICAL)
yscroll.place(in_=T, relx=1.0, relheight=1.0, bordermode="outside")
T.configure(yscrollcommand=yscroll.set)

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