Python 为什么PlotWidget会';网格布局单元中的t比例?

Python 为什么PlotWidget会';网格布局单元中的t比例?,python,pyqt5,pyqtgraph,Python,Pyqt5,Pyqtgraph,我在网格中放置了一些小部件。但是这些小部件总是有一种奇怪的行为 如果将一个ImageView和PlotWidget放在附近,则ImageView会扭曲和PlotWidged拉伸。我在附近放了两个ImageView和两个PlotWidget来检查-一切正常。怎么了 import sys import numpy as np from PyQt5.QtWidgets import QWidget, QGridLayout, QPushButton, QApplication import pyqtg

我在网格中放置了一些小部件。但是这些小部件总是有一种奇怪的行为

如果将一个
ImageView
PlotWidget
放在附近,则
ImageView
会扭曲和
PlotWidged
拉伸。我在附近放了两个
ImageView
和两个
PlotWidget
来检查-一切正常。怎么了

import sys
import numpy as np
from PyQt5.QtWidgets import QWidget, QGridLayout, QPushButton, QApplication
import pyqtgraph as pg
from PIL import Image


class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):

        grid = QGridLayout()
        self.setLayout(grid)
        self.Imv = pg.ImageView()
        win = pg.PlotWidget()
        win.plot(np.random.random_sample(40)*10)
        btn1 = QPushButton("Start")
        btn2 = QPushButton('Forward/backward')
        btn3 = QPushButton('Filters')
        grid.addWidget(self.Imv, 0, 0, 1, 1)
        grid.addWidget(win, 0, 1, 1, 1)
        grid.addWidget(btn1, 1, 0, 1, 1)
        grid.addWidget(btn2, 2, 0, 1, 1)
        grid.addWidget(btn3, 3, 0, 1, 1)
        btn1.clicked.connect(self.cap)
        self.move(300, 150)
        self.setWindowTitle('Scentific camera view')
        self.show()

    def cap(self):
        global Imv
        img = np.array(Image.open('D:/Frames/image7.jpg'))
        self.Imv.setImage(img.T)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
看来:

两个
ImageView
near-很好:


我建议您使用QTDesigner构建UI并自动生成代码。这让事情变得容易多了。如果必须手动执行此操作,请尝试将“大小策略”设置为“展开”,或将几何图形更改为固定大小:

win.setGeometry(QtCore.QRect(10, 20, 621, 181))
win.setSizePolicy(QtWidgets.QSizePolicy.Expanding)

我建议您使用QTDesigner构建UI并自动生成代码。这让事情变得容易多了。如果必须手动执行此操作,请尝试将“大小策略”设置为“展开”,或将几何图形更改为固定大小:

win.setGeometry(QtCore.QRect(10, 20, 621, 181))
win.setSizePolicy(QtWidgets.QSizePolicy.Expanding)

谢谢,这不是我需要的(我不得不重做一点程序),但我认为它可以被指定为答案。谢谢,这不是我需要的(我不得不重做一点程序),但我认为它可以被指定为答案。