大家好,我是IKUN的真爱粉,有时候我们需要在tkinter上加滚动条,那么怎么制作呢,我们先看下面的视频展示效果,是不是你想要的
 
展示
 

 
感觉制作的略微粗糙,各位可以后期自己慢慢调整
 
创建滚动条重要的步骤是:
 
 1、创建画布:canvas = Canvas(tk) # 创建画布
 2、创建滚动条:myscrollbar = Scrollbar(tk, orient="vertical", command=canvas.yview) # 创建滚动条
 3、画布上加上滚动条:canvas.configure(yscrollcommand=myscrollbar.set)
 
 
我这个代码是将一个非常长的列表内容,用Label控件显示文本,然后加上滚动条,仅仅是作为一个参考!
 
 
奉上完整版代码:
 
import tkinter
from tkinter import *head = ["我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本","我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本","我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本","我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本", "我是文本",]
tk = tkinter.Tk()
tk.geometry("770x670")
canvas = Canvas(tk)  
canvas.place(x=0, y=0, height=670, width=500)
myscrollbar = Scrollbar(tk, orient="vertical", command=canvas.yview)  
myscrollbar.place(x=500, y=0, height=670)
canvas.configure(yscrollcommand=myscrollbar.set)
rollFrame = Frame(canvas)  
name_list = []
name_list2 = []
for n in range(len(head)):name_list.append("a" + str(n))name_list2.append("b" + str(n))for i in range(len(head)):name_list2[i] = IntVar()name_list[i] = Label(rollFrame, text=head[i])name_list[i].pack()def myfunction(event):canvas.configure(scrollregion=canvas.bbox("all"), width=100, height=670)canvas.create_window((0, 0), window=rollFrame, anchor='nw')  
rollFrame.bind("<Configure>", myfunction)
tk.mainloop()
 
希望对大家有帮助,如有错误,欢迎指正
 
致力于办公自动化的小小程序员一枚
 
希望能得到大家的【一个免费关注】!感谢
 
此外我还提供了,办公十大技巧:点我查看
 
