python设置画布的大小_Python tkinter框架画布调整大小

在尝试使Python tkinter应用中的画布在窗口大小改变时自动填充整个窗口时遇到问题。已尝试绑定Configure事件,但遇到错误。示例代码包含一个带滚动条的画布,以及尝试在窗口调整大小时更新画布宽度的函数。
摘要由CSDN通过智能技术生成

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

我看过以下其他问题:

问题#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.Fr

Python 中,你可以使用不同的图形库来创建画布,并设置画布大小。以下是几个常用图形库的示例代码: 1. 使用 Matplotlib 库创建画布设置大小: ```python import matplotlib.pyplot as plt # 创建画布设置大小 fig = plt.figure(figsize=(8, 6)) # 绘制图形 plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) plt.title('Line chart') plt.xlabel('X Label') plt.ylabel('Y Label') # 显示图形 plt.show() ``` 在上面的代码中,我们使用 `figsize` 参数来设置画布大小,参数值为元组,元组中的第一个值表示画布的宽度,第二个值表示画布的高度。 2. 使用 Tkinter 库创建画布设置大小: ```python import tkinter as tk # 创建窗口 root = tk.Tk() # 设置画布大小 canvas = tk.Canvas(root, width=800, height=600) # 在画布上绘制图形 canvas.create_line(0, 0, 800, 600) # 显示画布 canvas.pack() # 进入事件循环 root.mainloop() ``` 在上面的代码中,我们使用 `Canvas` 组件的 `width` 和 `height` 参数来设置画布大小。注意,这里的单位是像素。 3. 使用 PyQt 库创建画布设置大小: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtGui import QPainter, QPen from PyQt5.QtCore import Qt class MyWidget(QWidget): def __init__(self, width, height): super().__init__() self.width = width self.height = height self.setGeometry(100, 100, self.width, self.height) self.show() def paintEvent(self, event): qp = QPainter() qp.begin(self) qp.setPen(QPen(Qt.blue, 3, Qt.SolidLine)) qp.drawLine(0, 0, self.width, self.height) qp.end() if __name__ == '__main__': app = QApplication(sys.argv) widget = MyWidget(800, 600) sys.exit(app.exec_()) ``` 在上面的代码中,我们继承了 `QWidget` 类,并重写了 `paintEvent` 方法,在其中绘制了一条直线。在 `MyWidget` 类的构造函数中,我们传入了画布的宽度和高度,并通过 `setGeometry` 方法设置了窗口的大小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值