大家好,我是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( )
希望对大家有帮助,如有错误,欢迎指正
致力于办公自动化的小小程序员一枚
希望能得到大家的【一个免费关注】!感谢
此外我还提供了,办公十大技巧:点我查看