Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

打开FramelessDialog会导致主窗口FramelessWindow最大化再缩小后控件出现重复重叠 #185

Open
baby7 opened this issue Mar 5, 2025 · 0 comments
Labels
bug Something isn't working

Comments

@baby7
Copy link

baby7 commented Mar 5, 2025

Describe the bug
打开FramelessDialog会导致主窗口FramelessWindow最大化再缩小后控件出现重复重叠

Environment
环境信息

  • OS: [e.g. Windows11]
  • DPI scaling: [e.g. 200%]
  • Python: [e.g. 3.8.10 64-bit]
  • PySide6: [e.g. 6.6.3.1]
  • PySideSix-Frameless-Window: [e.g. 0.4.5]

To Reproduce

  1. 启动程序后的主窗口
    Image

  2. 点击打开对话框按钮
    Image

  3. 再最大化主窗口(对话框可关可不关。最大化后会发现控件出现重复)
    Image

  4. 再恢复后主窗口控件也会出现重叠
    Image

Code
最小复现代码

import sys

from PySide6.QtWidgets import QApplication, QPushButton, QLabel
from qframelesswindow import FramelessWindow, FramelessDialog


# 自定义对话框
class CustomDialog(FramelessDialog):
    def __init__(self, parent=None):
        super().__init__(parent)


# 主窗口
class TestWindow(FramelessWindow):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        self.setWindowTitle("主窗口")
        self.setGeometry(300, 300, 400, 400)

        self.btn = QPushButton("打开对话框", self)
        self.btn.clicked.connect(self.show_custom_dialog)
        self.btn.setGeometry(100, 100, 100, 30)

        self.test_btn = QPushButton("测试按钮", self)
        self.test_btn.setGeometry(100, 150, 100, 30)

        self.test_label = QLabel("测试Label", self)
        self.test_label.setGeometry(100, 200, 100, 30)
        self.test_label.setStyleSheet("background-color: white;")

    def show_custom_dialog(self):
        dialog = CustomDialog(self)
        dialog.show()


if __name__ == "__main__":
    app = QApplication([])
    window = TestWindow()
    window.show()
    sys.exit(app.exec())

最后补充:

  1. 使用原生QDialog没有这个问题
  2. 主窗口的控件不使用固定位置大小也没有这个问题
@baby7 baby7 added the bug Something isn't working label Mar 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant