MCPcopy Create free account
hub / github.com/PyQt5/PyQt / Dialog

Class Dialog

Demo/FramelessDialog.py:44–77  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42
43
44class Dialog(QDialog):
45
46 def __init__(self, *args, **kwargs):
47 super(Dialog, self).__init__(*args, **kwargs)
48 self.setObjectName('Custom_Dialog')
49 self.setWindowFlags(self.windowFlags() | Qt.FramelessWindowHint)
50 self.setAttribute(Qt.WA_TranslucentBackground, True)
51 self.setStyleSheet(Stylesheet)
52 self.initUi()
53 # 添加阴影
54 effect = QGraphicsDropShadowEffect(self)
55 effect.setBlurRadius(12)
56 effect.setOffset(0, 0)
57 effect.setColor(Qt.gray)
58 self.setGraphicsEffect(effect)
59
60 def initUi(self):
61 layout = QVBoxLayout(self)
62 # 重点: 这个widget作为背景和圆角
63 self.widget = QWidget(self)
64 self.widget.setObjectName('Custom_Widget')
65 layout.addWidget(self.widget)
66
67 # 在widget中添加ui
68 layout = QGridLayout(self.widget)
69 layout.addItem(QSpacerItem(
70 40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum), 0, 0)
71 layout.addWidget(QPushButton(
72 'r', self, clicked=self.accept, objectName='closeButton'), 0, 1)
73 layout.addItem(QSpacerItem(20, 40, QSizePolicy.Minimum,
74 QSizePolicy.Expanding), 1, 0)
75
76 def sizeHint(self):
77 return QSize(600, 400)
78
79
80if __name__ == '__main__':

Callers 1

FramelessDialog.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected