PyQt6如何使用QDialog显示通用消息框
短信预约 -IT技能 免费直播动态提醒
本篇内容介绍了“PyQt6如何使用QDialog显示通用消息框”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
使用QDialog显示通用消息框
直接使用QDialog类,可以及通过对话框进行通用对话框显示,亦可以通过自定义设置自己需要的对话框。
# _*_ coding:utf-8 _*_ import sys from PyQt6.QtWidgets import QWidgetfrom PyQt6.QtWidgets import QApplicationfrom PyQt6.QtWidgets import QMainWindowfrom PyQt6.QtWidgets import QVBoxLayoutfrom PyQt6.QtWidgets import QHBoxLayoutfrom PyQt6.QtWidgets import QPushButtonfrom PyQt6.QtWidgets import QDialogfrom PyQt6.QtGui import QIconfrom PyQt6.QtCore import Qt class MainWindowView(QMainWindow): """主窗体界面""" def __init__(self): """构造函数""" super().__init__() self.setWindowTitle("MainWindow") self.setWindowIcon(QIcon(r"./res/folder_pictures.ico")) self.resize(300, 200) self.setMinimumSize(600, 400) self.center() self.initui() def initui(self): """初始函数""" self.vboxlayout = QVBoxLayout(self) self.main_widget = QWidget() self.main_widget.setLayout(self.vboxlayout) self.setCentralWidget(self.main_widget) self.hboxlayout = QHBoxLayout(self) self.btn = QPushButton(self) self.btn.setText("弹出对话框") self.btn.move(100,100) self.btn.clicked.connect(self.show_dialog) def center(self): """居中显示""" win_rect = self.frameGeometry() # 获取窗口矩形 screen_center = self.screen().availableGeometry().center() # 屏幕中心 win_rect.moveCenter(screen_center) # 移动窗口矩形到屏幕中心 self.move(win_rect.center()) # 移动窗口与窗口矩形重合 def show_dialog(self): dialog = QDialog() button = QPushButton("确定", dialog) button.clicked.connect(dialog.close) button.move(50,50) dialog.setWindowTitle("QDialog") dialog.setWindowModality(Qt.WindowModality.ApplicationModal) dialog.exec() if __name__ == "__main__": app = QApplication(sys.argv) view = MainWindowView() view.show() sys.exit(app.exec())
结果:
点击按钮可以弹出对话框,可以添加对应的按钮关联信号进行窗体关闭或控制。
“PyQt6如何使用QDialog显示通用消息框”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341