Add 03-12-01-01

QDialog-简介与创建
This commit is contained in:
muzing 2022-09-09 17:08:28 +08:00
parent b179f0c3ca
commit a7d3e626f8

View File

@ -0,0 +1,47 @@
import sys
from PySide6 import QtWidgets
"""
QDialog 对话框类
对话框是一类用于与用户交互的控件往往作为单独的窗口弹出
可以向用户展示信息例如QMessageBox获取用户的选择如通过QFileDialog获取用户选择的文件
官方文档https://doc.qt.io/qtforpython/PySide6/QtWidgets/QDialog.html
QDialog继承自QWidget是所有对话框控件的基类
只有一种构造函数可选地将父控件传入
.__init__(self, parent: Optional[PySide6.QtWidgets.QWidget]
注意对话框控件设置父控件略有特殊对话框始终为独立窗口而不会成为父控件的一部分
如果为对话框设置了父控件则其默认出现在父控件的顶级控件的上方窗口在最上方可以盖住下面
的内容它还将共享父级的任务栏条目
"""
class MyWidget(QtWidgets.QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("QDialog")
self.resize(600, 400)
self.setup_ui()
def setup_ui(self) -> None:
"""设置界面"""
# 设置对话框
dialog = QtWidgets.QDialog(self)
dialog.setWindowTitle("这是一个对话框")
dialog.resize(300, 200)
QtWidgets.QLabel("模态对话框会影响主窗口关闭", dialog)
# 在主窗口上弹出对话框
test_btn = QtWidgets.QPushButton("弹出对话框", self)
test_btn.move(200, 200)
test_btn.clicked.connect(dialog.exec) # type: ignore
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyWidget()
window.show()
sys.exit(app.exec())