Python QLayout setGeometry(在PyQt 5.14中)现在忽略负值。有解决办法吗?
我们有一个包含定制QLayout的应用程序。布局的想法是,我们希望将布局的子对象部分放置在布局的框架之外,从而剪裁子对象的渲染 在Pyqt5.10中,这工作得非常好。例如,我们可以:Python QLayout setGeometry(在PyQt 5.14中)现在忽略负值。有解决办法吗?,python,pyqt,pyqt5,qlayout,Python,Pyqt,Pyqt5,Qlayout,我们有一个包含定制QLayout的应用程序。布局的想法是,我们希望将布局的子对象部分放置在布局的框架之外,从而剪裁子对象的渲染 在Pyqt5.10中,这工作得非常好。例如,我们可以: child.setGeometry(-100, 0, 200, 200) 。。这会将子对象100px放置在布局的左边框之外,从而隐藏子对象的最左半部分 在Pyqt5.14中,这不再有效。使用相同的代码,即 child.setGeometry(-100, 0, 200, 200) 现在,子对象正好放置在左边框上,
child.setGeometry(-100, 0, 200, 200)
。。这会将子对象100px放置在布局的左边框之外,从而隐藏子对象的最左半部分
在Pyqt5.14中,这不再有效。使用相同的代码,即
child.setGeometry(-100, 0, 200, 200)
现在,子对象正好放置在左边框上,而不是它外面的100px。没有引发错误或异常,它只是将负值静默解释为0
使用正值进行定位仍然有效,因此
child.setGeometry(100, 0, 200, 200)
。。。事实上,将子对象放置在左边框右侧的100px处
所以问题:有没有一种方法可以让PyQt 5.14中的行为与之前相同,这样我们就可以通过将布局的子元素放置在布局的边界之外来剪裁它们?我的系统没有看到这种效果(我在Windows上使用的是5.14.1版)。你能举一个失败的例子吗?我在我的系统上看不到这种效果(我在Windows上使用的是5.14.1版)。你能举一个失败的例子吗?