PyQt6设置QFrame为Shadow.Plain仍出现类阴影斜向边框问题求助
PyQt6设置QFrame为Shadow.Plain仍出现类阴影斜向边框问题求助
我在用PyQt6创建QFrame的时候,调用setLineWidth方法给它添加边框,结果边框的内外角之间出现了斜向线条,看起来像是有阴影一样,但我明明已经把QFrame.Shadow属性设置成Plain了——我理解这个选项应该是无阴影的啊?
我试过了阴影属性的所有其他选项,结果都没法去掉这个类似阴影的效果。我现在有点摸不着头绪,搜“PyQt6 remove shadow”出来的结果要么是把边框完全移除了,要么是讲怎么移除投影效果的,我甚至不确定这个到底是不是阴影相关的问题。
我的系统环境:Windows 11 Home版本10.0.26100 Build 26100,Qt版本6.8.1。
附上测试代码:
import sys from PyQt6.QtWidgets import QApplication, QWidget, QFrame class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): testBox = QFrame(self) testBox.setFrameStyle(QFrame.Shape.Box | QFrame.Shadow.Plain) #explicitly set shadow to plain testBox.setLineWidth(50) #large border for demo purposes testBox.setGeometry(50, 50, 300, 300) self.setGeometry(300, 300, 500, 500) self.show() def demo(): app = QApplication(sys.argv) ex = Example() sys.exit(app.exec()) if __name__ == '__main__': demo()
实际显示效果:
备注:内容来源于stack exchange,提问作者Benjamin Cassell
相关产品推荐
相关产品推荐

