tkinter: 滚动frame (通过canvas+scrollbar)
from tkinter import *def data():for i in range(100):Label(rollFrame,text=i).grid(row=i,column=0)Label(rollFrame,text="my text"+str(i)).grid(row=i,column=1)Label(rollFrame,text="..........").grid(row=i,column=2)# 少了这个就滚动不了
def myfunction(event):canvas.configure(scrollregion=canvas.bbox("all"),width=200,height=200)root=Tk()
root.wm_geometry("800x600")canvas=Canvas(root) # 创建画布
canvas.place(x=0,y=0,height=300,width=500)myscrollbar=Scrollbar(root,orient="vertical",command=canvas.yview) #创建滚动条
myscrollbar.place(x=500,y=0,height=300)
canvas.configure(yscrollcommand=myscrollbar.set)rollFrame=Frame(canvas) # 在画布上创建frame
canvas.create_window((0,0),window=rollFrame,anchor='nw') # 要用create_window才能跟随画布滚动
rollFrame.bind("<Configure>",myfunction)data()
root.mainloop()
在画布上放置frame,为什么要使用create_window?
如果您通过 pack, place, grid 将一个frame 放置到画布上 ,frame会出现在画布内,但不会成为画布的一部分。 这意味着:如果画布绑定了滚动条,框架将不会跟随画布滚动。
通过使用create_window,使frame成为画布的一部分,就可以像任何其他画布对象一样操作和滚动了。
tkinter: 滚动frame (通过canvas+scrollbar)相关推荐
- qml 滚动控件Scroll ScrollBar ScrollIndicator ScrollView
import QtQuick.Layouts 1.3 交互式滚动条ScrollBar 交互式即与操作有互动.次控件用于滚动到特定位置 属性 active : bool,保存滚动条是否处于活跃状态 ho ...
- tkinter滚动事件详解
引言 在tkinter中,由<Mousewheel>提供绑定信息. 但是同其它绑定事件一样,滚动事件同样提供的event参数返回值,也拥有特殊的属性,比如send_event,delta, ...
- tkinter笔记:画布canvas
1 整体框架 import tkinter as tkwindow = tk.Tk() #创建窗口window.title('my window') #窗口标题window.geometry('500 ...
- python mainloop bind_Python3 tkinter基础 Frame bind 捕捉多键同时按
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...
- python组合键触发_Python3 tkinter基础 Frame bind 捕捉多键同时按
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...
- pythontkinter键盘_Python3 tkinter基础 Frame bind 敲击键盘事件 将按键打印到console中
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...
- tkinter的Frame布局
从头开始梳理: import tkinterif __name__ == '__main__':root = tkinter.Tk()root.geometry("300x300" ...
- Python:tkinter滚动抽奖器
滚动抽奖器(文字类型) https://www.jb51.net/article/177913.htm
- html 圆盘滚动抽奖,HTML5 Canvas圆盘抽奖应用DEMO
HTML5 Canvas圆盘抽奖应用DEMO html页面 HTML5 Canvas圆盘抽奖应用DEMO演示 抱歉!浏览器不支持. 抱歉!浏览器不支持. 抱歉!浏览器不支持. 抱歉!浏览器不支持. w ...
最新文章
- 为程序员量身定做的目标
- ajax 泛微oa表单js_OA项目总结
- 【大话数据结构算法】归并排序
- 限制服务器访问指定网站,如何允许或限制某一国或地区的用户访问网站
- jzoj3847-都市环游【矩阵乘法】
- ftp与sftp及sftp和scp的区别
- archlinux使用sudo
- 魔域java_java序列化
- Symmetric Tree
- Activity intent经常使用的 FLAG 集合
- 如何解决更改csdn头像修改后浏览器不显示的问题
- bigdecimal 怎么做除法_面向对象之BigDecimal
- VB简易密码登录窗体设计
- 机器视觉工业光源知识总结
- 【架构】分布式架构介绍及实现(简略)
- wma转mp3怎么弄_免费:如何把WMA转MP3格式
- Cordova入门教程
- oracle优化器analyzed,Oracle 学习之 性能优化(十三) 索引
- 【论文阅读】提升的自动作文评分通过Prompt预测和匹配
- linux创建用户和组