鱼C论坛

 找回密码
 立即注册
查看: 2683|回复: 4

想创造一个简单的滚动条,大神求解

[复制链接]
发表于 2019-11-13 00:24:19 | 显示全部楼层 |阅读模式

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

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

x
  1. sb = Scrollbar(window_sign_up)
  2. sb.pack(side=RIGHT, fill=Y)
  3. lb = Listbox(window_sign_up, yscrollcommand=sb.set)
  4. for i in range(1000):
  5.     lb.insert(END, str(i))
  6. lb.pack(side=LEFT, fill=BOTH)
  7. sb.config(command=lb.yview)
复制代码


本人小白,就想创造一个简单的滚动条,结果把小甲鱼的程序搬过来发现我自己原来的内容还没有滚动,而且左侧又多了很多东西
003.png
002.png
001.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-11-13 00:25:32 | 显示全部楼层
  1. from tkinter import *
  2. import tkinter as tk



  3. def add_2():
  4.     calc = []
  5.     exp1 = nunmber101.get()
  6.     exp2 = nunmber102.get()
  7.     calc.append(float(exp1))
  8.     calc.append(float(exp2))
  9.     calc.append(calc[0]+calc[1])
  10.     v.set(round(calc[2],3))
  11.    

  12. ii=200
  13. window_sign_up =tk.Tk()
  14. window_sign_up.geometry('500x500')
  15. window_sign_up.title('10以内加法')
  16.    


  17. nunmber101 = tk.StringVar()#给第一个框输入数字,默认为2
  18. nunmber101.set('2')
  19. tk.Label(window_sign_up, text='请输入你的第一个数:').place(x=10, y= ii)
  20. entry_nunmber101 = tk.Entry(window_sign_up, textvariable=nunmber101)
  21. entry_nunmber101.place(x=150, y=ii)

  22. nunmber102 = tk.StringVar()#给第二个框输入数字,默认为3
  23. nunmber102.set('3')
  24. tk.Label(window_sign_up, text='请输入你的第二个数:').place(x=10, y= ii+150)
  25. entry_nunmber102 = tk.Entry(window_sign_up, textvariable=nunmber102)
  26. entry_nunmber102.place(x=150, y=ii+150)

  27. #设置按钮,点击计算
  28. btn_2=tk.Button(window_sign_up,text='加计算',command=add_2,font=('Arial',30))
  29. btn_2.place(x=150,y=ii+200)

  30. tk.Label(window_sign_up, text='两数相加等于:').place(x=10, y= ii+350)

  31. v = tk.StringVar()
  32. e1 = tk.Entry(window_sign_up,textvariable = v,width = 20)
  33. e1.place(x=150, y= ii+350)


  34. sb = Scrollbar(window_sign_up)
  35. sb.pack(side=RIGHT, fill=Y)
  36. lb = Listbox(window_sign_up, yscrollcommand=sb.set)
  37. for i in range(1000):
  38.     lb.insert(END, str(i))
  39. lb.pack(side=LEFT, fill=BOTH)
  40. sb.config(command=lb.yview)



  41. window_sign_up.mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-13 00:37:24 | 显示全部楼层
  1. from tkinter import *

  2. window_sign_up =Tk()
  3. window_sign_up.geometry('500x500')
  4. window_sign_up.title('10以内加法')

  5. sb = Scrollbar(window_sign_up)
  6. sb.pack(side=RIGHT, fill=Y)

  7. lb = Listbox(window_sign_up, yscrollcommand=sb.set)
  8. for i in range(1000):
  9.     lb.insert(END, str(i))

  10. lb.pack(side=LEFT, fill=BOTH, expand=True)
  11. sb.config(command=lb.yview)

  12. window_sign_up.mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-13 12:41:27 From FishC Mobile | 显示全部楼层
XiaoPaiShen 发表于 2019-11-13 00:37

您好,我就想做一个窗口的滚动,不想带有数字,您看您能帮我看看该怎么写吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-13 14:32:42 | 显示全部楼层
你可以把除了滚动条的所有窗口组件都放在一个 Canvas 组件里面,然后让滚动条和那个 Canvas 组件联动比如:
  1. import tkinter as tk
  2. root = tk.Tk()

  3. ca = tk.Canvas(root,bg='#FFFFFF',height=50,width=100,scrollregion=(-100,-200,100,200))
  4. sc = tk.Scrollbar(root,command=ca.yview)
  5. sc.pack(side=tk.RIGHT,fill=tk.Y)
  6. ca.pack(side=tk.LEFT,expand=True,fill=tk.BOTH)
  7. ca.config(yscrollcommand=sc.set)
  8. fr = tk.Frame(ca)
  9. l1 = tk.Label(fr,text='我在上边,\n其实\n我就是\n想让\n标签长高',bg='#FF0000',fg='#00FFFF')
  10. l2 = tk.Label(fr,text='我在中间,\n其实\n我就是\n想让\n标签长高',bg='#00FF00',fg='#FF00FF')
  11. l3 = tk.Label(fr,text='我在下边,\n其实\n我就是\n想让\n标签长高',bg='#0000FF',fg='#FFFF00')
  12. l1.pack()
  13. l2.pack()
  14. l3.pack()
  15. ca.create_window((50,25),window=fr)
  16. tk.mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-20 17:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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