Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对于setFixedSize,QWidget不接受大于约23000的值_Python_Qt_Pyside2 - Fatal编程技术网

Python 对于setFixedSize,QWidget不接受大于约23000的值

Python 对于setFixedSize,QWidget不接受大于约23000的值,python,qt,pyside2,Python,Qt,Pyside2,我猜,当计算机内存不足时,该代码会毫无错误地退出;它需要大约2吉比特的内存,我的笔记本电脑有6吉比特;对于QWidget的fixedSize,它仅适用于23000或更小的值。如何创建一个宽度和高度为1000000的QWidget,而不消耗这么多ram from PySide2.QtWidgets import * import sys class Window(QWidget): def __init__(self): super().__init__()

我猜,当计算机内存不足时,该代码会毫无错误地退出;它需要大约2吉比特的内存,我的笔记本电脑有6吉比特;对于QWidget的fixedSize,它仅适用于23000或更小的值。如何创建一个宽度和高度为1000000的QWidget,而不消耗这么多ram

from PySide2.QtWidgets import *
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setFixedSize(1000000, 1000000)

def main():
    app = QApplication(sys.argv)
    w = Window()
    w.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()
编辑:
我来自WPF/C#world,在那里有一个大尺寸的画布是可能的,没有任何问题或ram短缺。例如,一个地图的宽度和高度为30000,那么在一些实现中,可以超快速放大和缩小以获得良好的整体视图,而不需要像Qt这样高的ram消耗(在WPF中,我的最后一个应用程序中有很多项目,它需要大约21兆字节的ram,画布的宽度和高度都有100万像素;大小并不重要)。通过增加QWidget的大小,ram消耗会更高,这让人惊讶


我是Qt新手,到目前为止,我所了解的是,要想拥有一个具有缩放功能的大地图,我们需要使用场景和视图。因此,这是可行的,但与WPF不同。

为什么你想要一个1000000乘1000000的小部件?也许有更好的方法来解决你想要的问题。如果地图是你的目标,Qt有。@JarMan谢谢你的场景而视图就是解决方案。