pyqt5切换到pyqt6变更点
FramelessWindowHint
Qt.FramelessWindowHint
Qt.WindowType.FramelessWindowHint
globalPos
event.globalPos()
event.globalPosition()
LeftButton
Qt.LeftButton
Qt.MouseButton.LeftButton
StrongFocus
Qt.StrongFocus
Qt.FocusPolicy.StrongFocus
WA_TranslucentBackground
QtCore.Qt.WA_TranslucentBackground
self.setWindowOpacity(0.5) # 设置窗口透明度为0.5
pyqt5切换到pyqt6遇到问题
同样尺寸pyqt6比pyqt5视觉效果要大
倒圆角后背景还在
需要将主窗口设置为透明
Qt.WindowType.FramelessWindowHint
PyQt6中没有QtCore.Qt.WA_TranslucentBackground
PyQt6中,确实没有QtCore.Qt.WA_TranslucentBackground属性。但是,你可以通过设置窗口的透明度来实现类似的效果。
self.setWindowOpacity(0.5) # 设置窗口透明度为0.5
pyqt6 AttributeError: type object ‘Qt’ has no attribute ‘LeftButton’
在 PyQt6 中,Qt 类没有 LeftButton 属性。你应该使用 Qt.MouseButton.LeftButton 来代替
pyqt6 AttributeError: ‘Main’ object has no attribute ‘setFocusPolicyBehavior’
这个错误是因为在PyQt6中,setFocusPolicyBehavior方法已经被移除了。你可以使用setFocusPolicy方法来设置焦点策略。
参考资料
Pyqt5升级至Pyqt6:升级优势、差异与注意事项 详细总结