鱼C论坛

 找回密码
 立即注册
查看: 1988|回复: 3

[已解决]关于tkinter组件中的 Text与Scrollbar组件的滚动条相关问题

[复制链接]
发表于 2020-8-23 00:13:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

                               
登录/注册后可看大图


                               
登录/注册后可看大图


                               
登录/注册后可看大图


关于代码中图片 如果有需要可以直接通过下面图片提取:

                               
登录/注册后可看大图

下面代码部分:
  1. import tkinter

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


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


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


  12. frame1 = tkinter.Frame(root)
  13. frame1.grid(row=1, column=1)
  14. frame2 = tkinter.Frame(root)
  15. frame2.grid(row=2, column=1)
  16. frame3 = tkinter.Frame(root)
  17. frame3.grid(row=1, column=2, rowspan=2)

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

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

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

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

  28. sb.config(command=text1.yview)

  29. photo = tkinter.PhotoImage(file=r'E:\PycharmProjects\untitled2\project_mon_8\day_16\小屁孩.jpg')
  30. root.mainloop()
复制代码

最佳答案
2020-8-23 00:23:40


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

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

  1. import tkinter

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


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


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


  12. frame1 = tkinter.Frame(root)
  13. frame1.grid(row=1, column=1)
  14. frame2 = tkinter.Frame(root)
  15. frame2.grid(row=2, column=1)


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

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

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

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

  26. sb.config(command=text1.yview)

  27. photo = tkinter.PhotoImage(file=r'E:\PycharmProjects\untitled2\project_mon_8\day_16\小屁孩.jpg')
  28. root.mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-8-23 00:23:40 | 显示全部楼层    本楼为最佳答案   


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

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

  1. import tkinter

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


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


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


  12. frame1 = tkinter.Frame(root)
  13. frame1.grid(row=1, column=1)
  14. frame2 = tkinter.Frame(root)
  15. frame2.grid(row=2, column=1)


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

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

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

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

  26. sb.config(command=text1.yview)

  27. photo = tkinter.PhotoImage(file=r'E:\PycharmProjects\untitled2\project_mon_8\day_16\小屁孩.jpg')
  28. root.mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-23 00:30:22 | 显示全部楼层
Twilight6 发表于 2020-8-23 00:23
你 text 组件是框架 2 的 ,你滚轮组件是框架 3 的,自然匹配不到 text 组件的拉伸情况

改成框架 2  ...

以为框架只是为了方便组件位置和归类,原来还影响到了组件之间是否能联动问题!
实在感谢大半夜还答题。谢谢了!

点评

客气了~  发表于 2020-8-23 09:03
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-26 03:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表