PyQt5弹出窗口大全:实现输入框、消息框、文件对话框等
131 浏览量
更新于2024-09-02
收藏 109KB PDF 举报
PyQt5 弹出窗口大全笔记
PyQt5 是一个 Python 库,用于创建图形用户界面(GUI)应用程序。弹出窗口是 GUI 应用程序中非常重要的一个组件,用于与用户交互,获取用户输入,显示信息等。今天,我们将讨论 PyQt5 中的弹出窗口大全,包括输入框、消息框、文件对话框、颜色对话框、字体对话框和自定义对话框等。
输入框
在 PyQt5 中,可以使用 QLineEdit widget 创建输入框。输入框可以用于获取用户的文本输入,可以是整数、小数、文本等。例如:
```python
from PyQt5.QtWidgets import QLineEdit
input_widget = QLineEdit()
```
消息框
消息框是用于显示信息的弹出窗口,可以是信息、问答、警告、危险等类型。PyQt5 提供了多种消息框,例如:
```python
from PyQt5.QtWidgets import QMessageBox
msg_box = QMessageBox()
msg_box.setText("这是一个信息消息框")
msg_box.exec_()
```
文件对话框
文件对话框用于选择文件或文件夹,PyQt5 提供了多种文件对话框,例如:
```python
from PyQt5.QtWidgets import QFileDialog
file_dialog = QFileDialog()
file_dialog.setFileMode(QFileDialog.AnyFile)
file_dialog.setViewMode(QFileDialog.Detail)
file_dialog.exec_()
```
颜色对话框
颜色对话框用于选择颜色,PyQt5 提供了 QColorDialog widget:
```python
from PyQt5.QtWidgets import QColorDialog
color_dialog = QColorDialog()
color_dialog.exec_()
```
字体对话框
字体对话框用于选择字体,PyQt5 提供了 QFontDialog widget:
```python
from PyQt5.QtWidgets import QFontDialog
font_dialog = QFontDialog()
font_dialog.exec_()
```
自定义对话框
自定义对话框可以用于实现特殊的交互需求。PyQt5 提供了信号/槽机制,可以用于实现自定义对话框的返回值。例如:
```python
from PyQt5.QtCore import pyqtSignal
class MyDialog(QDialog):
signal = pyqtSignal(str)
def __init__(self):
super().__init__()
def accept(self):
self.signal.emit("这是一个自定义对话框")
super().accept()
```
示例代码
以下是完整的示例代码:
```python
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt, pyqtSignal, QTimer
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('PyQt5 弹出窗口大全')
self.resize(400, 300)
wl = QVBoxLayout(self)
h1 = QHBoxLayout()
btn11 = QPushButton('输入:整数')
btn12 = QPushButton('输入:小数')
btn13 = QPushButton('输入:文本')
btn14 = QPushButton('输入:多文')
btn15 = QPushButton('输入:选项')
h1.addWidget(btn11)
h1.addWidget(btn12)
h1.addWidget(btn13)
h1.addWidget(btn14)
h1.addWidget(btn15)
h2 = QHBoxLayout()
btn21 = QPushButton('消息:信息')
btn22 = QPushButton('消息:问答')
btn23 = QPushButton('消息:警告')
btn24 = QPushButton('消息:危险')
btn25 = QPushButton('消息:关于')
h2.addWidget(btn21)
h2.addWidget(btn22)
h2.addWidget(btn23)
h2.addWidget(btn24)
h2.addWidget(btn25)
h3 = QHBoxLayout()
btn31 = QPushButton('文件:文件夹')
btn32 = QPushButton('文件:单文件')
btn33 = QPushButton('文件:多文件')
btn34 = QPushButton('文件:保存')
btn35 = QPushButton('文件:另存为')
h3.addWidget(btn31)
h3.addWidget(btn32)
h3.addWidget(btn33)
h3.addWidget(btn34)
h3.addWidget(btn35)
h4 = QHBoxLayout()
btn41 = QPushButton('颜色')
btn42 = QPushButton('字体')
btn43 = QPushButton('自定义')
h4.addWidget(btn41)
h4.addWidget(btn42)
h4.addWidget(btn43)
wl.addLayout(h1)
wl.addLayout(h2)
wl.addLayout(h3)
wl.addLayout(h4)
```
PyQt5 提供了非常丰富的弹出窗口组件,可以满足各种 GUI 应用程序的需求。
2019-12-11 上传
2020-09-19 上传
2021-01-01 上传
2021-03-24 上传
2020-12-31 上传
点击了解资源详情
2024-11-10 上传
2024-12-22 上传
weixin_38610682
- 粉丝: 6
- 资源: 878