当前位置: 首页 > news >正文

Python+tkinter添加滚动条

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

展示

在这里插入图片描述

感觉制作的略微粗糙,各位可以后期自己慢慢调整

创建滚动条重要的步骤是:

1、创建画布:canvas = Canvas(tk) # 创建画布

2、创建滚动条:myscrollbar = Scrollbar(tk, orient="vertical", command=canvas.yview) # 创建滚动条

3、画布上加上滚动条:canvas.configure(yscrollcommand=myscrollbar.set)

我这个代码是将一个非常长的列表内容,用Label控件显示文本,然后加上滚动条,仅仅是作为一个参考!

我的实战代码,用在了这篇博客:点我查看(python+tkinter读取excel选取自己需要的列并保存)

奉上完整版代码:

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)  # 在画布上创建frame
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')  # 要用create_window才能跟随画布滚动
rollFrame.bind("<Configure>", myfunction)
tk.mainloop()

希望对大家有帮助,如有错误,欢迎指正

致力于办公自动化的小小程序员一枚

希望能得到大家的【一个免费关注】!感谢

此外我还提供了,办公十大技巧:点我查看

在这里插入图片描述

http://www.lryc.cn/news/25396.html

相关文章:

  • 大V龚文祥造谣董明珠恋情被禁言
  • 深入浅出Reactjs
  • 《C++ Primer Plus》第18章:探讨 C++ 新标准(1)
  • PCB板漏孔、漏槽怎么办?看工程师避坑“SOP”
  • mysql数据库同步方案:springboot+集成cannal
  • oracle 19c 创建物化视图并测试logminer进行日志挖掘
  • 2.1 黑群晖驱动:10代u核显硬解驱动(解决掉IP、重启无法连接问题)
  • 二、CSS
  • 变分推断 (Variational Inference) 解析
  • 27. 移除元素
  • hive临时目录清理
  • 如何创建发布新品上市新闻稿
  • 关于.bashrc和setup.bash的理解
  • 03 Android基础--fragment
  • Redis使用,AOF、RDB
  • SOLIDWORKS Premium 2023 SP1.0 三维设计绘图软件
  • PyQGIS开发--自动化地图布局案例
  • 严格模式和非严格模式下的this指向问题
  • vue2、vue3组件传值,引用类型,对象数组如何处理
  • 165. 小猫爬山
  • ECharts教程(详细)
  • pinia
  • mysql中insert语句的五种用法
  • YOLOV7模型调试记录
  • 模拟光伏不确定性——拉丁超立方抽样生成及缩减场景(Matlab全代码)
  • Elasticsearch聚合查询速览
  • CEC2017:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解cec2017(提供MATLAB代码)
  • Vue3 企业级项目实战:通关 Vue3 企业级项目开发,升职加薪快人一步
  • vue样式绑定(v-if)
  • 无需公网IP,安全稳定实现U8C异地访问