首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么带有内框的画布上的tkinter滚动条在声明pack_propagate(0)时被禁用?

带有内框的画布上的tkinter滚动条在声明pack_propagate(0)时被禁用的原因是,pack_propagate(0)方法会禁用控件的自动调整大小功能。当设置了pack_propagate(0)后,画布将不会根据其内容自动调整大小,而是根据父容器的大小进行调整。这导致滚动条无法正确地显示和工作,因为滚动条的大小和位置是根据画布的内容来确定的。

要解决这个问题,可以考虑以下几种方法:

  1. 使用grid布局代替pack布局:使用grid布局可以更精确地控制控件的位置和大小,而不会受到pack_propagate(0)的影响。可以将画布和滚动条都放置在一个grid布局的容器中,然后使用grid方法来设置它们的位置和大小。
  2. 使用Canvas组件的configure方法:可以使用Canvas组件的configure方法来手动调整画布的大小,以适应其内容的变化。在添加或删除内容后,可以调用configure方法重新设置画布的大小,并更新滚动条的位置和大小。
  3. 使用Canvas组件的scrollregion属性:可以使用Canvas组件的scrollregion属性来设置画布的可滚动区域。通过设置scrollregion属性,可以确保滚动条能够正确地显示和工作,即使画布的大小不受pack_propagate(0)的影响。

总结起来,禁用滚动条的问题是由于pack_propagate(0)导致画布大小不受自动调整的影响。可以通过使用grid布局、手动调整画布大小或设置scrollregion属性来解决这个问题。具体的实现方法可以根据具体的需求和代码结构进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python GUI编程学习笔记之tkinter控件介绍及基本使用方法详解

常用参数设置【可以创建按钮时候指定,也可以创建后使用 按钮对象.config() 来设置】: text:按钮文本显示 anchor:按钮内容位置[取值:n, ne, e, se, s, sw...activeforeground:按钮处于活动状态使用前景颜色。 disabledforeground:禁用按钮使用颜色。...,这是强制填充水平方向,又或者使用 Frame对象.pack_propagate(0),这个函数可以使得设置高度和宽度生效 参数设置:可用参数参考下面的可用参数,再参考按钮参数设置 STANDARD...#下面的是使用.pack_propagate(0)解决了问题代码 from tkinter import * root=Tk() root.geometry('500x500') frame=Frame...参数设置:可用参数参考上面Menu,用法同样可以参考按钮Button 添加菜单方法参考Menu 注意:这次不是root里面config了,而是菜单按钮中设置 from tkinter import

9.5K10

软件测试|超好用超简单Python GUI库——tkinter(十四)

Canvas画布控件 Canvas 控件具有两个功能,首先它可以用来绘制各种图形,比如弧形、线条、椭圆形、多边形和矩形等,其次 Canvas 控件还可以用来展示图片(包括位图),我们将这些绘制画布控件图形...通过 Canvas 控件创建一个简单图形编辑器,让用户可以达到自定义图形目的,就像使用画笔画布绘画一样,可以绘制各式各样形状,从而有更好的人机交互体验。...Canvas 画布绘制图形)被选中背景色 selectborderwidth 指定当画布对象被选中边框宽度(选中边框) selectforeground 指定当画布对象被选中前景色 state...默认为开启,将该选项设置为 False 避免焦点在此输入中 width 指定 Canvas 宽度,单位为像素 xscrollcommand 与 scrollbar(滚动条)控件相关联(沿着 x 轴水平方向...一般情况下,默认主窗口左上角为坐标原点,这种坐标系被称作为“窗口坐标系”,但也会存在另外一种情况,即画布大小可能大于主窗口,当发生这种情况,可以采用带滚动条 Canvas 控件,此时会以画布左上角为坐标原点

86610

python学习之GUI(Tkinter

,command=buttonClick) button.pack() window.mainloop() 同理将方法改为改变按钮文字 import Tkinter as tk window=tk.Tk...,每点击一次按钮,都复制文本内容并一起显示文本中。...用于输入密码文本常常在输入密码不会显示密码,而是每个字符位置显示星号(*),使用方式:添加文本,添加一个额外具名自变量,这样文本就变成了一个密码 GUI中会有一个输入密码和一个提交密码按钮... Tkinter as tk window=tk.Tk() slider=tk.Scale(window,from_=0,to=100) slider.pack() tk.mainloop() 画布创建...=colour) canvas.pack() window.mainloop() 颜色选择器:画布滚动条配合使用 注:通过三个滚动条选择从而决定三原色红,绿,蓝三个颜色占用,从而组成喜欢颜色

1.1K10

Python--TKinter

滑块组件 Scrollbar 滚动条组件 其他组件 Canvas 画布组件 Frame 框架组件,将多个组件编组 Toplevel...import tkinter def showLable(): global baseFrame # 函数中定义了一个Label # Label父组件是baseFrame...-------设置按钮边框宽度 cursor---------------------设置鼠标在按钮样式 command--------------------设置按钮点击触发函数 bitmap...-----------设置按钮点击触发函数\nbitmap---------------------设置按钮显示位图\nfont-----------------------设置按钮上文字字体...画布:可以自由在上面绘制图形一个小舞台 画布绘制对象,通常用create_xxxx,xxxx=对象类型,例如line,rectangle 画布作用把一定组件画到画布显示出来 画布所支持组件

5.1K107

小朋友学Python(24):Tkinter图形界面编程

譬如你输入一个字符,就要立即在光标那个位置显示出来(前提是你选中了文本,也就是鼠标文本这个图案范围单击过)。...4.png Tkinter 组件 Tkinter提供各种控件,如按钮,标签和文本等。 目前有15种Tkinter控件。下表作了简单介绍: 控件 描述 Button 按钮控件;程序中显示按钮。...Canvas 画布控件;显示图形元素如线条或文本 Checkbutton 多选框控件;用于程序中提供多项选择 Entry 输入控件;用于显示简单文本内容 Frame 框架控件;屏幕显示一个矩形区域...,多用来作为容器 Label 标签控件;可以显示文本和位图 Listbox 列表控件;Listbox窗口小部件是用来显示一个字符串列表给用户 Menubutton 菜单按钮控件,由于显示菜单项。...显示一个数值刻度,为输出限定范围数字区间 Scrollbar 滚动条控件,当内容超过可视化区域使用,如列表。.

4.7K70

Python Tkinter图形工具使用方法及实例解析

Tkinter 常用组件 按钮 Button 按钮组件 RadioButton 单选框组件 CheckButton 选择按钮组件 Listbox 列表组件 文本输组件 Entry 单行文本组件...Menu代替 滚动条 Scale 滑动组件 Scrollbar 滚动条组件 其他组件 Canvas 画布组件 Frame 框架组件,将多个组件编组 Toplevel 创建子窗口容器组件 组件大致实用步骤创建总面板创建面板各种组件...案例2:Button案例,创建一个弹窗,里面生成一个按钮,当按钮按下去时候,执行我定义函数 import tkinter def showlabel(): global baseFrame...ipady:y padx:x外方向边界 pady:y 案例3:pack 布局案例 # pack 布局案例 import tkinter def button1(): # 函数所有代码都是创建一个组件...,跟pack函数一样 支持rowspan,columnspan,代表跨行,跨列数列 案例3:grid布局案例 import tkinter def button1(): # 函数所有代码都是创建一个组件

1.5K30

测试之路 pytest接口自动化框架扩展-GUI窗口

tkinter就相当于flask框架。比较简陋,也比较易上手。我当前需求就是简单实现一个窗口录入文件,然后调用脚本执行方法即可。最后把结果显示一个对话中。...能够与一个函数关联,当按钮按下,自动调用该函数。属性可以直接参考标签 ps:tkinter组件有很多通用属性。感兴趣可以CSDN刷一波 # Button按钮组件。...添加一个按钮画布中 def onclick(): print("别点我!")...command:滚动条拖动回调监听,其属性值是一个回调函数 selectmode:设置列表选择模式。...selectmode属性默认值是BROWSE Listbox: yscrollcommand 列表纵向滚动回调监听,该属性值是一个回调函数 xscrollcommand 列表横向滚动回调监听

2.8K30

Python-GUI|Tkinter模块

它可以跨平台运行在Windows,Linux和Mac等系统。 这篇文章不会介绍如何灵活地运用Tkinter,而是阐述Tkinter这个库包括什么,它能干什么!...模块,这个模块包括了所需要所有的类和函数 然后,需要创建一个(根)窗口,它是一个普通窗口,带有标题栏、最小化按钮、最大化按钮等,即:root = Tk() ,调用title接口,geometry分别设置根窗口标题...控件梳理 Button 按钮控件;程序中显示按钮 Canvas 画布控件;显示图形元素,如线条或文本 Checkbutton 多选框控件,用于程序中提供多项选择 Entry 输入控件;用于显示简单文本内容...Frame 框架控件;屏幕显示一个矩形区域,多用来作为容器 Label 标签控件;可以显示文本和位图 Listbox 列表控件;Listbox窗口小部件是用来显示一个字符串列表给用户...范围控件;显示一个数值刻度,为输出限定范围数字区间 Scrollbar 滚动条控件,当内容超过可视化区域使用,如列表 Text 文本控件;用于显示多行文本 Toplevel 容器控件

4.6K100

​Python | GUI编程之tkinter (一)

,这样,这个程序可以双击启动,而且启动不会开始命令行(也就是不会弹出小黑)。...Canvas 画布控件;在窗口中画图,如线条等元素 Checkbutton 多选框控件;用于程序中提供多项选择 Entry 输入控件;用于显示简单文本内容 Frame 框架控件;屏幕定义一个区域...;显示一个数值刻度,为输出限定范围数字区间 Scrollbar 滚动条控件,当内容超过可视化区域使用,如列表。....对其他属性感兴趣读者,可以自己尝试一下其他属性,限于篇幅小编在这里就不赘述了~ 4. 画布控件:Canvas 画布控件,是可以在其上画图像控件,可以在其创建图像,如直线,矩形,椭圆等。...该控件内有以下属性/方法: Method/Attribute Description show 为输入文字显示控件内容 get() 读取控件文字 下面看一个demo: from tkinter

5.9K31

软件测试|软件测试|超好用超简单Python GUI库——tkinter(八)

前言我们日常使用各种桌面软件,当我们想要搜索一个内容,都会出现一个列表,供我们选择,如下图:图片Tkinter提供了列表(Listbox)控件来实现类似的功能。...Listbox控件列表,即 Listbox。使用 Tkinter 进行 GUI 编程过程中,如果需要用户自己进行选择就可以使用列表控件。..." 实现,它表示将选项插入到最后一个位置,所以“Java”一定会被插入到最后一个位置,而之前选项会依次向前排列,如下所示:from tkinter import *# 创建主窗口win = Tk()...图片增加滚动条和删除功能为上述示例增加一个滚动条和选项删除功能,如下所示:from tkinter import *# 创建主窗口win = Tk()win.title("拜仁慕尼黑")win.geometry..., "萨", "基米希", "德里赫特"]for i in items: lb.insert('end', i) # 从最后一个位置开始加入值lb.insert(0, '诺伊尔') # 第一个位置插入一段字符串

2K10

python--GUI编程--Tkinter

TkinterTkinter 模块(Tk 接口)是 Python 标准 Tk GUI 工具包接口 .Tk 和 Tkinter 可以大多数 Unix 平台下使用,同样可以应用在 Windows...Tkinter 组件 Tkinter提供各种控件,如按钮,标签和文本,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。 目前有15种Tkinter部件。...Canvas 画布控件;显示图形元素如线条或文本 Checkbutton 多选框控件;用于程序中提供多项选择 Entry 输入控件;用于显示简单文本内容 Frame 框架控件;屏幕显示一个矩形区域...,多用来作为容器 Label 标签控件;可以显示文本和位图 Listbox 列表控件;Listbox窗口小部件是用来显示一个字符串列表给用户 Menubutton 菜单按钮控件,由于显示菜单项。...显示一个数值刻度,为输出限定范围数字区间 Scrollbar 滚动条控件,当内容超过可视化区域使用,如列表。.

3.7K30

自己动手写软件——密码验证器界面实现

,失败返回失败提示 我们今天目标很简单,就是先把软件界面设计和写出来,并不关心每一个按钮和输入之后功能实现。...我们进行tkinter编程,应该是就好像在一块画布上进行贴画。咱们后面一一道来。 首先我们需要拿了一张画布,下面就是我们摆好画布操作。...window.title("密码破解工具") # 窗口标题 window.geometry("300x250") 接下来我一开始尝试直接在这块画布使用pack方法画画,我发现每一个方块位置并不像我预期一样摆放整齐...这个东西就是一个框架,我们可以选择将组件贴在框架,这样组件位置就比较容易控制。这个就是我前面说是画布上进行贴画说法。于是我设计图改成了这样子。 ?...tkinter.Entry(frame_ip) entry_ip.pack(side='right') 接着我们左边框架再画一个服务器端口框架和内容 #服务器端口提示标签

83220

Python 笔记:GUI编程(Tkinter)

Tkinter 可以大多数 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。...目前有15种Tkinter部件。我们提出这些部件以及一个简短介绍,在下面的表: 控件 描述 Button 按钮控件;程序中显示按钮。...Canvas 画布控件;显示图形元素如线条或文本 Checkbutton 多选框控件;用于程序中提供多项选择 Entry 输入控件;用于显示简单文本内容 Frame 框架控件;屏幕显示一个矩形区域...,多用来作为容器 Label 标签控件;可以显示文本和位图 Listbox 列表控件;Listbox窗口小部件是用来显示一个字符串列表给用户 Menubutton 菜单按钮控件,由于显示菜单项。...显示一个数值刻度,为输出限定范围数字区间 Scrollbar 滚动条控件,当内容超过可视化区域使用,如列表。.

5.1K30

Python模块:tkinter

顶层控件是Tk和Toplevel两个类,其他控件是框架、标签、条目、文本、画布、按钮、单选按钮、检查按钮、缩放、列表滚动条、选项菜单、旋转标签框架和窗格窗口。 控件属性用关键字参数来指定。...关键字参数与Tk下相应资源同名。 通过Place,Pack,Grid三个几何管理器某一个类,控件放置。这些管理器可以通过每一个控件里都有的place,pack,grid三个方法调用。...绝对不可能直接放在tkinter文件夹!实际,这个类直接放在了__init__.py,导入时也就只要从tkinter中导入,而不必写成from tkinter....这样还不够,因为登陆进去还是需要触发一个事件,这个事件我们可以绑定在一个按钮,当点击按钮就触发该事件。下面我给出如何编写该事件具体过程。...点击右上角×也会调用退出按钮事件即可。

2.1K20

Python图形界面GUI程序设计

图形用户界面是一种人与计算机通信界面显示格式,允许用户使用鼠标等输入设备操纵屏幕图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。...图形用户界面由窗口、下拉菜单、对话及其相应控制机制构成,各种新式应用程序中都是标准化,即相同操作总是以同样方式来完成,图形用户界面,用户看到和操作都是图形对象,应用是计算机图形学技术...tk_bg.mainloop() #显示窗口 注:主义观察控件输出,非常可爱是最上面的,想一想为什么(因为bottom把最前面的可爱放在了最下面)。...Canvas 画布控件;显示图形元素如线条或文本 Checkbutton 多选框控件;用于程序中提供多项选择 Entry 输入控件;用于显示简单文本内容 Frame 框架控件;屏幕显示一个矩形区域...显示一个数值刻度,为输出限定范围数字区间 Scrollbar 滚动条控件,当内容超过可视化区域使用,如列表。.

4.8K20

Python打包GUI界面组件汇总,Tkinter(TK)实例代码

Tkinter绑定了 Python Tk GUI 工具集 ,就是Python 包装Tcl代码,通过内嵌 Python 解释器内部 Tcl 解释器实现, Tkinter调用转换成 Tcl 命令...Tkinter优缺点: 历史最悠久, Python 事实标准 GUI , Python 中使用 Tk GUI 工具集标准接口,已经包括标准 Python Windows 安 装中,著名 IDLE...1 e1.pack() #标签框架里顶对齐文本输入1 e2=Entry(lf_show,width=10) #标签框架容器里增加文本输入2 e2.pack() #标签框架里顶对齐文本输入2...=Listbox(master,fg='red',height=5,width=20) #创建需要滚动条列表 lb_show1['yscrollcommand']=s_show.set #把滚动条对象赋给对象列表属性...to=10) #创建取值范围在0-10输入 sb_show.pack(side="left") #在窗体左对齐设置(14) # ==================================

6.7K21

零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)

当使用 Place 布局管理容器中组件,需要设置组件 x、y 或 relx、rely 选项,Tkinter 容器坐标系统原点 (0,0) 左上角,其中 X 轴向右延伸,Y 轴向下延伸,如图所示...StringVar()对象 16 width 文本宽度 17 xscrollcommand 设置水平方向滚动条,一般在用户输入文本框内容宽度大于文本显示宽度使用。...) 选中指定索引与光标之间值 12 xview ( index ) 该方法文本链接到水平滚动条很有用。...由于列表实质就是将Python 列表类型数据可视化呈现,程序实现时,也可直接对相关列表数据进行操作,然后再通过列表展示出来,而不必拘泥于可视化控件方法。...用Toplevel 所创建子窗体是非模式(Modeless)窗体,虽然初建子窗体最前面,但根窗体控件实例也是可以操作

13.9K30

太实用了!自己动手写软件——GUI编程

顶层窗口上面构建不同GUI组件 通过底层应用代码将这些GUI组件连接起来 进入主事件循环 安装和使用 好了,回归正题,看看我们今天需要学习tkinter,因为是内置库,所以我们不需要安装直接调用即可...控件 描述 Button 按钮控件;程序中显示按钮,包含事件如:鼠标悬浮、按下、释放以及键盘活动 Canvas 画布控件;显示图形元素,如线条、椭圆、矩形等 Checkbutton 多选框控件;...用于程序中提供多项选择 Entry 输入控件;用于显示简单文本内容 Frame 框架控件;屏幕显示一个矩形区域,多用来作为容器 Label 标签控件;可以显示文本和位图 Listbox 列表控件...显示一个数值刻度,为输出限定范围数字区间 Scrollbar 滚动条控件,当内容超过可视化区域使用,如列表。....Menu控件,并将控件放置window 9-10行:添加菜单内容和回调函数 11行:将menu控件配置生效window顶层框架上 13行:进入主事件循环 最终实现效果是这样 ?

4.1K10

Tkinter常用功能示例(一)

技术背景 Tkinter是一个Python自带GUI框架,虽然现在主流还是用pyqt多一些,但是Tkinter环境配置可以节省很多工作,可以用来做一些小项目。...如果使用Text定义文本,定义可以配置大小。如果对比这两个控件,最简单来说就是,Entry适用于单行输入(如登录界面的账号密码等),Text适用于多行文本输入(文本编辑器)。...,那就要把那些需要加滚动条控件单独放到某个容器,常用有Widget和Frame。...scroll_text.config(command=text_box.yview) # 把滚动条添加到文本操作 text_box.config(yscrollcommand=scroll_text.set...GUI框架常用功能模块,包含基本窗口创建、菜单栏、文本、TreeView、按钮、滚动条、标签设定等,另外包含了一些面向对象GUI简单示例。

12110
领券