gdmao002 发表于 2020-8-23 00:13:39

关于tkinter组件中的 Text与Scrollbar组件的滚动条相关问题

关于tkinter组件中的 Text与Scrollbar组件的滚动条相关问题
先描述下遇到的问题:
在使用Scrollbar滚动条组件的时候是可以通过图例看出是有上下一块空间滑块对吧!
然后在与text文本联动就没有这个长长的滑块了,是因为跟text联动才会这样?还是我写的有疏漏?
恳请各位帮忙看看 具体是哪里没弄好,或者是本身是这样!
https://s1.ax1x.com/2020/08/23/dd5Yct.jpg
https://s1.ax1x.com/2020/08/23/dd5J1I.jpg
https://s1.ax1x.com/2020/08/23/dd5G9A.jpg

关于代码中图片 如果有需要可以直接通过下面图片提取:
https://s1.ax1x.com/2020/08/23/dd4lzq.gif
下面代码部分:
import tkinter

# text组件案例之一插入按钮及图片
root = tkinter.Tk()
root.title('text组件')
count = 0


def fun1():
    global count
    count += 1
    text1.insert(tkinter.INSERT, str(count) + ' ')


def fun2():
    text1.image_create(tkinter.INSERT, image=photo)


frame1 = tkinter.Frame(root)
frame1.grid(row=1, column=1)
frame2 = tkinter.Frame(root)
frame2.grid(row=2, column=1)
frame3 = tkinter.Frame(root)
frame3.grid(row=1, column=2, rowspan=2)

sb = tkinter.Scrollbar(frame3)
sb.pack(fill=tkinter.Y)

b1 = tkinter.Button(frame1, text='我是文本外按钮插入数字', command=fun1)
b1.pack()

text1 = tkinter.Text(frame2, width=30, height=40, yscrollcommand=sb.set)
text1.pack()
text1.insert(tkinter.INSERT, '我是光标后插入文本内容\n')

b2 = tkinter.Button(text1, text='我是文本内按钮插入图片', command=fun2)
b2.pack()
text1.window_create(tkinter.INSERT, window=b2)

sb.config(command=text1.yview)

photo = tkinter.PhotoImage(file=r'E:\PycharmProjects\untitled2\project_mon_8\day_16\小屁孩.jpg')
root.mainloop()

Twilight6 发表于 2020-8-23 00:23:40



你 text 组件是框架 2 的 ,你滚轮组件是框架 3 的,自然匹配不到 text 组件的拉伸情况

改成框架 2 , side 设置偏右即可

import tkinter

# text组件案例之一插入按钮及图片
root = tkinter.Tk()
root.title('text组件')
count = 0


def fun1():
    global count
    count += 1
    text1.insert(tkinter.INSERT, str(count) + ' ')


def fun2():
    text1.image_create(tkinter.INSERT, image=photo)


frame1 = tkinter.Frame(root)
frame1.grid(row=1, column=1)
frame2 = tkinter.Frame(root)
frame2.grid(row=2, column=1)


sb = tkinter.Scrollbar(frame2)
sb.pack(side=tkinter.RIGHT,fill=tkinter.Y)

b1 = tkinter.Button(frame1, text='我是文本外按钮插入数字', command=fun1)
b1.pack()

text1 = tkinter.Text(frame2, width=30, height=40, yscrollcommand=sb.set)
text1.pack()
text1.insert(tkinter.INSERT, '我是光标后插入文本内容\n')

b2 = tkinter.Button(text1, text='我是文本内按钮插入图片', command=fun2)
b2.pack()
text1.window_create(tkinter.INSERT, window=b2)

sb.config(command=text1.yview)

photo = tkinter.PhotoImage(file=r'E:\PycharmProjects\untitled2\project_mon_8\day_16\小屁孩.jpg')
root.mainloop()

gdmao002 发表于 2020-8-23 00:30:22

Twilight6 发表于 2020-8-23 00:23
你 text 组件是框架 2 的 ,你滚轮组件是框架 3 的,自然匹配不到 text 组件的拉伸情况

改成框架 2...

以为框架只是为了方便组件位置和归类,原来还影响到了组件之间是否能联动问题!
实在感谢大半夜还答题。谢谢了!{:5_109:}
页: [1]
查看完整版本: 关于tkinter组件中的 Text与Scrollbar组件的滚动条相关问题