PyQtGraph Plot无法填满Qt Designer创建的Widget求助
解决PySide6中PyQtGraph PlotWidget无法填满容器的问题
你的问题出在重复创建了PlotWidget——Qt Designer已经在UI文件里生成了名为graphicsView的PlotWidget实例,但你又在代码里新建了一个PlotWidget作为它的子控件,新控件默认不会自动填满父容器。
修复步骤:
- 直接使用UI中已有的
graphicsView控件,无需再创建新的PlotWidget - 确保控件被布局正确包裹(你的UI文件已用QVBoxLayout,此步骤可省略)
修改后的代码:
import sys from PySide6.QtUiTools import QUiLoader from PySide6.QtWidgets import QApplication, QMainWindow import pyqtgraph class MainWindow(QMainWindow): def __init__(self): super().__init__() self.window = QUiLoader().load("test.ui", self) # 直接调用UI中已创建好的PlotWidget self.plot_widget = self.window.graphicsView self.plot_widget.plot([1, 2, 3], [1, 2, 3]) self.window.show() if __name__ == "__main__": App = QApplication(sys.argv) MW = MainWindow() sys.exit(App.exec())
额外优化(可选):
如果后续遇到布局失效的情况,可以强制设置控件的尺寸策略,确保它填满可用空间:
# 让控件在水平、垂直方向都自动扩展 self.plot_widget.setSizePolicy( self.plot_widget.sizePolicy().Expanding, self.plot_widget.sizePolicy().Expanding )
内容的提问来源于stack exchange,提问作者jamesB
相关产品推荐
相关产品推荐

