PyQt5弹出窗口 |
您所在的位置:网站首页 › pyqt5下拉菜单怎么自动填入 › PyQt5弹出窗口 |
文章目录
前言一、QInputDialog--弹出输入对话框1. 输入整数2. 输入小数3. 输入文本4. 输入多行文本5. 输入选项注意示例
二、QMessageBox--弹出消息提示框1. 信息2. 问答3. 警告4. 危险5. 关于示例按钮类型(1) 标准按钮类型(2) 自定义按钮类型
三、QFileDialog--弹出文件对话框1. 文件夹2. 单文件3. 多文件4. 保存5. 另存为示例
前言
PyQt5中弹出窗口最常用的三种:输入框、消息提示、文件夹对话框,下面详细介绍这三大类。 一、QInputDialog–弹出输入对话框 1. 输入整数 # 后面四个数字的作用依次是 初始值 最小值 最大值 步幅 value, ok = QInputDialog.getInt(self, "输入框标题", "这是提示信息\n\n请输入整数:", 37, -10000, 10000, 2)效果: 效果: 效果: 效果: 效果: 输入后有两个选项,点击OK则代码中value为输入内容,ok为True;点击Cancel则value为空,ok为False。 示例 import sys from PyQt5.QtWidgets import * class MyWindow(QWidget): def __init__(self): super().__init__() self.setWindowTitle('PyQt5 弹出窗口') self.resize(400, 300) # 加了self为全局布局,没加为局部布局 h1 = QHBoxLayout(self) btn = QPushButton('弹出窗口') btn.clicked.connect(self.do_btn) h1.addWidget(btn) def do_btn(self, event): # 输入:整数 # 后面四个数字的作用依次是 初始值 最小值 最大值 步幅 value, ok = QInputDialog.getInt(self, "输入框标题", "这是提示信息\n\n请输入整数:", 37, -10000, 10000, 2) if __name__ == "__main__": app = QApplication(sys.argv) win = MyWindow() win.show() sys.exit(app.exec_())效果: 用来告诉用户关于提示信息 # 后两项分别为按钮(以|隔开,共有7种按钮类型,见示例后)、默认按钮(省略则默认为第一个按钮) reply = QMessageBox.information(self, "消息框标题", "这是一条消息。", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)效果: 用来告诉用户关于提问消息 # 后两项分别为按钮(以|隔开,共有7种按钮类型,见示例后)、默认按钮(省略则默认为第一个按钮) reply = QMessageBox.question(self, "消息框标题", "这是一条问答吗?", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)效果: 用来告诉用户关于不寻常的错误消息 # 后两项分别为按钮(以|隔开,共有7种按钮类型,见示例后)、默认按钮(省略则默认为第一个按钮) reply = QMessageBox.warning(self, "消息框标题", "这是一条警告!", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)效果: 用来告诉用户关于严重的错误消息 # 后两项分别为按钮(以|隔开,共有7种按钮类型,见示例后)、默认按钮(省略则默认为第一个按钮) reply = QMessageBox.critical(self, '标题', '严重错误对话框消息正文', QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)效果: 效果: 效果:
注意!!!这里reply需赋值为窗口的对象属性 (即self.reply),否则窗口会一闪而过!!! 效果: 弹出C盘目录,dir_ 返回选择的文件夹路径。 2. 单文件 # 设置文件扩展名过滤,注意用双分号间隔 file_, filetype = QFileDialog.getOpenFileName(self, "选取文件", "C:/", "All Files (*);;Text Files (*.txt)")file_ 返回选择的文件路径。 3. 多文件 files, ok = QFileDialog.getOpenFileNames(self, "多文件选择", "C:/", "All Files (*);;Text Files (*.txt)")按钮 Ctrl 可多选文件,files返回选择文件的路径。 4. 保存 file_, ok = QFileDialog.getSaveFileName(self, "文件保存", "C:/", "All Files (*);;Text Files (*.txt)")保存为txt类型,file_ 返回文件保存路径。 5. 另存为 file_, ok = QFileDialog.getSaveFileName(self, "文件另存为", "C:/", "All Files (*);;Text Files (*.txt)")保存为txt类型,file_ 返回文件保存路径。 似乎跟 4. 保存 没什么区别。。。 示例 import sys from PyQt5.QtWidgets import * class MyWindow(QWidget): def __init__(self): super().__init__() self.setWindowTitle('PyQt5 弹出窗口') self.resize(400, 300) # 加了self为全局布局,没加为局部布局 h1 = QHBoxLayout(self) btn = QPushButton('弹出窗口') btn.clicked.connect(self.do_btn) h1.addWidget(btn) def do_btn(self, event): dir_ = QFileDialog.getExistingDirectory(self, "选取文件夹", "C:/") # 起始路径 if __name__ == "__main__": app = QApplication(sys.argv) win = MyWindow() win.show() sys.exit(app.exec_())点击 弹出窗口 弹出 起始路径,即可选择文件夹。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |