我正在尝试调整画布大小,以便当用户在窗口边缘使用“单击并拖动”调整窗口大小时,画布会填满整个窗口,但我没有成功 .

我看过以下其他问题:

问题#1(之前发布,但没有帮助)

这个发送给我的是我认为正确的方向,因为我在画布上绑定了一个Configure . 但是,我得到一个错误,“'画布'没有在FrameWidth中定义 . ”

如果我修改了函数调用和函数,那么我得到错误“TypeError:FrameWidth()缺少1个必需的位置参数:'canvas'”修改是

canvas.bind('', self.FrameWidth(canvas))

def FrameWidth(self, event, canvas):

问题#2(之前发布,但没有帮助)

我也看了这个问题:

但是这个问题正在解决一个不规则行为的滚动条 .

问题#3(之前发布,但没有帮助)

我也看过这些问题并加权= 1,但这没有帮助:

任何意见,将不胜感激 .

这是我的MWE:

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

"""

Created on Fri Nov 3 04:39:43 2017

@author: davidc

"""

import tkinter as tk

class Selections(tk.Frame):

def __init__(self, *args, **kwargs):

tk.Frame.__init__(self, *args, **kwargs)

self.FifthLabelLeft = tk.Label(self,

text="""Riding""",

justify = tk.CENTER,

width=20,

padx = 10).grid(row=4, column = 0, pady=5)

self.FifthLabelCenter = tk.Label(self,

text="""Winning Candidate""",

justify = tk.CENTER,

width=20,

padx = 10).grid(row=4, column = 1, pady=5)

self.FifthLabelRight = tk.Label(self,

text="""Percent of Vote""",

justify = tk.CENTER,

width=10,

padx = 10).grid(row=4, column = 2, pady=5)

mybox = tk.LabelFrame(self, padx=5, pady=4)

mybox.grid(row=5, column=0, columnspan=3)

canvas = tk.Canvas(mybox, borderwidth=5, background="#70ff33")

frame = tk.Frame(canvas, background="#33f4ff")

vsb = tk.Scrollbar(mybox, orient="vertical", command=canvas.yview)

canvas.configure(yscrollcommand=vsb.set, width=450, heigh=30)

mybox.grid_columnconfigure(5,weight=1)

mybox.grid_rowconfigure(5,weight=1)

frame.grid_columnconfigure(5,weight=1)

frame.grid_rowconfigure(5,weight=1)

vsb.pack(side="right", fill="y")

canvas.pack(side="left", fill="both", expand=True)

canvas.create_window((4,4), window=frame, anchor="nw", tags="frame")

# be sure that we call OnFrameConfigure on the right canvas

frame.bind("", lambda event: self.OnFrameConfigure(canvas))

canvas.bind('', self.FrameWidth)

self.fillWindow(frame)

self.QuitButton = tk.Button(self,

text="QUIT",

command=root.destroy,

padx=25, pady=0)

self.QuitButton.grid(column = 0, columnspan=3)

def fillWindow(self, frame):

PartyWinnersList = [['Some list of places', "Somebody's Name", 0.37448599960838064],

['A shorter list', 'Three Long Names Here', 0.52167817821240514],

['A much longer, longer entry', 'Short Name', 0.41945832387008858]]

placement = 2

for i in PartyWinnersList:

ShowYear = tk.Label(frame,

text="""%s """ % i[0],

width=20,

)

ShowYear.grid(row=placement, column = 0, sticky=tk.S)

ShowSystem = tk.Label(frame,

text="""%s """ % i[1],

width=20,

)

ShowSystem.grid(row=placement, column = 1, sticky=tk.N)

PercentVotes = i[2]*100

ShowVotes = tk.Label(frame,

text="""%3.1f""" % PercentVotes,

width=10,

)

ShowVotes.grid(row=placement, column = 2, sticky=tk.N)

placement += 1

def FrameWidth(self, event):

canvas_width = event.width

canvas.itemconfig(self.canvas_frame, width = canvas_width)

def OnFrameConfigure(self, canvas):

canvas.configure(scrollregion=canvas.bbox("all"))

if __name__ == "__main__":

root = tk.Tk()

main = Selections(root)

main.pack(side="top", fill="both", expand=True)

root.mainloop()

python设置画布的大小_Python tkinter框架画布调整大小相关推荐

  1. Python设置画布大小_Python Tkinter Canvas画布

    简介 画布部件则用于将结构化图形的 Python 应用.它是用于绘制图表和曲线图的 Python 应用. 画布部件则用于将结构化图形的 Python 应用.它是用于绘制图表和曲线图的 Python 应 ...

  2. visio如何扩大画布的大小. 鼠标移到画布的边界按住Ctrl,就可以拉大

    visio如何扩大画布的大小. 鼠标移到画布的边界按住Ctrl,就可以拉大.txt 你可以另存为---图片就可以了. 点击文件---另存为---保存类型---JPEG---保存---就可以了.

  3. python在画布上显示动态图片_python Tkinter在画布上显示图像,它总是blin

    我正在从相机捕捉图像,并将图像显示在Tkinter的画布上. 但是,出现了一个奇怪的现象,画布将闪烁下面的代码def get_image_cam() : global cam,cam_flag,cam ...

  4. python炫酷动画源代码_Python tkinter实现的图片移动碰撞动画效果【附源码下载】...

    本文实例讲述了Python tkinter实现的图片移动碰撞动画效果.分享给大家供大家参考,具体如下: 先来看看运行效果: 具体代码如下: #!/usr/bin/python # -*- coding ...

  5. python炫酷gui界面_python+tkinter+动画图片+爬虫(查询天气)的GUI图形界面设计

    importtimeimport urllib.request #发送网络请求,获取数据 import gzip #压缩和解压缩模块 import json #解析获得的数据 from tkinter ...

  6. python设置二维列表_Python设置为列表

    python设置二维列表 Python设置为列表 (Python Set to List) Sometimes we have to create a list from the set object ...

  7. python设置默认utf8编码_Python设置默认编码为utf8的方法

    本文实例讲述了python设置默认编码为utf8的方法.分享给大家供大家参考,具体如下: 这是Python的编码问题,设置python的默认编码为utf8 python安装目录:/etc/python ...

  8. python列表怎么比较大小_python列表怎么比较大小

    Python中可以使用cmp()函数比较两个列表的大小. cmp()函数语法:cmp(list1, list2) 参数: list1 -- 比较的列表.list2 -- 比较的列表. 返回值: 如果比 ...

  9. python定义数据框大小_python – 如何设置框架的最小和最大高度或宽度?

    Tkinter窗口的大小可以通过以下方法进行控制: .minsize() .maxsize() .resizable() 是否有等同的方法来控制Tkinter或ttk框架的大小? @Bryan:我把你 ...

最新文章

  1. 部署Ceph集群(块存储,文件系统存储,对象存储)
  2. [转]想要成为一名优秀的Java程序员,这份文档必读
  3. LabVIEW I/O服务器创建时的相关问题汇总
  4. 4月8日--关于Date的练习题--自定义获取当前时间
  5. python display方法_在Python中縮放和顯示圖像的最快方法是什么?
  6. 【炮灰模型】 让数学建模来控制你的爱情,测测你是否是那个炮灰
  7. GPS经纬度坐标和UTM坐标的相互转换
  8. 深度学习双显卡配置_gpu – 我可以在笔记本电脑上使用intel高清显卡实现深度学习模型...
  9. LeetCode 643. 子数组最大平均数 I(简单)
  10. 解决电脑关机后自动重启问题
  11. 前端组件化开发实践总结
  12. 在mac上使用vscode创建第一个Python项目
  13. 直播换脸后,我们来搞搞微信QQ聊天换脸!| avatarify
  14. SSDT Hook技术详解与应用
  15. 智慧社区综合管理平台——小组展示1
  16. 修改unbantu source.list Command ‘deb‘ not found, did you mean问题
  17. Windows内核原理与实现之 NDIS(网络驱动程序接口规范)
  18. 小猫爪:i.MX RT1050学习笔记4-IO系统
  19. 平面一般方程的3D旋转平移变换
  20. 2023-2024最新软件工程毕业设计选题推荐大全

热门文章

  1. 软件开发培训学校三大服务体系
  2. 【存储】cache memory、primary memory and secondary memory
  3. 2021款联想拯救者r9000p和r9000k有什么区别 哪个好详细性能配置对比
  4. ae合成自动剪裁脚本Auto Crop插件
  5. 《数据库技巧》数据库两个表求笛卡尔积(阶乘)
  6. Python 字符串连接的七种方式
  7. HDU 5620 KK's Steel(水~)
  8. Ubuntu查看系统版本信息的方法汇总
  9. 王者服务器维护7月21日,7月21日部分服务器数据互通公告
  10. steam搬砖游戏项目靠谱吗?实践无偿分享