如何使用PySide6实现圆角窗口的鼠标拖动功能?

2026-05-16 15:140阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计601个文字,预计阅读时间需要3分钟。

如何使用PySide6实现圆角窗口的鼠标拖动功能?

最终效果+圆角窗口+实现圆角窗口需做以下两件事+设置窗口风格+

如何使用PySide6实现圆角窗口的鼠标拖动功能?

最终效果

圆角窗口

实现圆角窗口要做以下两件事

  • 设置窗口样式
# 透明背景
self.setAttribute(Qt.WA_TranslucentBackground)
# 无边框
self.setWindowFlag(Qt.WindowType.FramelessWindowHint)
# 通过 qss 设置背景和圆角
self.setStyleSheet("Window{background-color:gray;border-radius:5px;}")
  • 重载​​paintEvent​​​
opt = QStyleOption()
opt.initFrom(self)
p = QPainter(self)
self.style().drawPrimitive(QStyle.PE_Widget, opt, p, self)
super().paintEvent(event)

重载的目的是为了让窗口使用设置的QSS去绘制背景。

阅读全文

本文共计601个文字,预计阅读时间需要3分钟。

如何使用PySide6实现圆角窗口的鼠标拖动功能?

最终效果+圆角窗口+实现圆角窗口需做以下两件事+设置窗口风格+

如何使用PySide6实现圆角窗口的鼠标拖动功能?

最终效果

圆角窗口

实现圆角窗口要做以下两件事

  • 设置窗口样式
# 透明背景
self.setAttribute(Qt.WA_TranslucentBackground)
# 无边框
self.setWindowFlag(Qt.WindowType.FramelessWindowHint)
# 通过 qss 设置背景和圆角
self.setStyleSheet("Window{background-color:gray;border-radius:5px;}")
  • 重载​​paintEvent​​​
opt = QStyleOption()
opt.initFrom(self)
p = QPainter(self)
self.style().drawPrimitive(QStyle.PE_Widget, opt, p, self)
super().paintEvent(event)

重载的目的是为了让窗口使用设置的QSS去绘制背景。

阅读全文