pyside6,Qchart.legend().setGeometry无法更改宽高

我用pyside6写了一个用Qchart展现三组数据折线图的程序,为了尽可能不挤占绘图区域,我选择将图例legend给独立出来,

self.chart_RM.legend().detachFromChart()

这样就能在绘图区域上层,然后我用setGeometry设置位置和大小,如下

self.chart_RM.legend().setGeometry(QRectF(400, 0, 100, 100))

然而位置能改变,但是大小完全改不了啊,也就是后面两个参数没用,在网上查一查也有类似的问题,有说加个update(),试了没啥用,有没有知道咋解决的给指点一二?

这部分代码就下面几句

        self.chart_RM.legend().detachFromChart()
        self.chart_RM.legend().setBackgroundVisible(False)  
        self.chart_RM.legend().setGeometry(QRectF(400, 0, 100, 100))
        self.chart_RM.legend().update()

“Devil组”引证GPT后的撰写:
QRectF的四个参数分别为x、y、width和height,其中width和height分别表示矩形的宽度和高度。因此,如果想改变图例的大小,要调整最后两个参数,即width和height。例如,将代码更改为以下内容,可以将图例大小设置为100x100:

self.chart_RM.legend().setGeometry(QRectF(400, 0, 100, 100))


如果图例大小仍然无法改变,请检查其他部分的代码是否有影响图例大小的设置。如果在其他地方设置了图例的大小,可能会覆盖在此处进行的设置。可以尝试在其他地方删除对图例大小的设置并重新运行代码。

另外,调用update()方法可能不会影响图例的大小,因为该方法主要用于重绘小部件,而不是更改其属性。可以尝试调用repaint()方法,该方法将强制窗口小部件重绘。例如:

self.chart_RM.legend().repaint()


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^