Python画布比屏幕大

问题描述

我试图弄清楚如何将tkinter画布的尺寸设置为大于实际屏幕的尺寸。我的屏幕是1920x1280,如果我在下面的代码中设置了更高的数字,则尺寸永远不会超过此数字(由于此处存在巨大的绘制,我想这样做)。

代码

from tkinter import *


class Draw:

    def __init__(self,min,max):
        self.min = min
        self.max = max

    def draw(self):
        master = Tk()
        w = Canvas(master,width=2500,height=2500)
        #...

我也尝试过master.geometry("2500x2500"),但是那也不起作用。

解决方法

您不能使窗口大于物理屏幕。但是,如果您的目标是创建一个较大的图形,则可以在不使画布实际变大的情况下执行此操作。画布小部件只是进入更大的虚拟绘图区域的视口。

例如,您可以创建一个只有400x400像素的画布,但绘制一个4000x4000的图像。您可以通过将scrollregion属性设置为所需的任意大小来定义虚拟窗口的大小(最大限制为64000x64000)

,

发生这种情况是由于您的屏幕限制,您无法在1920px * 1280px屏幕上运行2500px * 2500px窗口,如果尝试在屏幕上运行1920px * 1280px窗口,则可以。

发生这种情况是因为您的限制(2500px * 2500px)对于您的显示器来说太大了。窗口会尝试在2457600像素的屏幕上使7250000像素!

因此,您必须获得更好的屏幕,可能是3k或4k屏幕才能运行此屏幕。