一文掌握PyQt5的五种基本对话框控件(内含代码哦!)
- 前言
- QMessageBox
- QColorDialog:
- QFontDialog:
- QInputDialog:
- QFileDialog:
- 总体代码
- 总结
前言
PyQt5 中的对话框控件用于创建和管理各种类型的对话框,用于收集用户输入、显示信息、警告或执行其他交互任务。
下面来介绍一些对话框的使用!
QMessageBox
消息框,用于向用户显示信息、警告、错误等消息,并提供按钮供用户响应。
这里使用一个按钮,直接出发按钮事件,然后弹出消息框,进行选择。
# 消息框
self.btn_message = QPushButton('打开消息框')
self.btn_message.clicked.connect(self.open_message)def open_message(self):QMessageBox.information(self, "Tips", 'open the message?', QMessageBox.Yes | QMessageBox.No)
QColorDialog:
颜色选择对话框,允许用户从颜色选择器中选择颜色。
这里使用一个按钮,直接出发按钮事件,然后弹出颜色框,并将选择的颜色的名称进行显示。
# 颜色对话框
self.btn_color = QPushButton('打开颜色对话框')
self.btn_color.clicked.connect(self.open_color)def open_color(self):color=QColorDialog.getColor()if color.isValid():self.text_bro.setText(color.name())
QFontDialog:
字体选择对话框,允许用户从系统中选择字体、字体样式和大小。
这里使用一个按钮,直接出发按钮事件,然后弹出文字选择框,并将选择的字体更改至我们的显示框中。
# 字体对话框
self.btn_word = QPushButton('打开字体对话框')
self.btn_word.clicked.connect(self.open_word)def open_word(self):font,is_ok=QFontDialog.getFont()if is_ok:self.text_bro.setStyleSheet("font-family: font; font-size: 16px;")
QInputDialog:
输入对话框,用于获取用户的输入,如文本、数字等。
这里使用一个按钮,直接出发按钮事件,然后弹出输入框,并将我们输入的数字在界面显示。
# 输入对话框
self.btn_input = QPushButton('打开输入对话框')
self.btn_input.clicked.connect(self.open_input)def open_input(self):num,is_ok=QInputDialog.getText(self,'输入:',"数字")if is_ok:self.text_bro.setText(num)
QFileDialog:
文件选择对话框,允许用户浏览文件系统并选择文件或目录。
这里使用一个按钮,直接出发按钮事件,然后弹出文件选择框,并将我们选择的文件夹的地址进行显示!
# 文件对话框
self.btn_file = QPushButton('打开文件对话框')
self.btn_file.clicked.connect(self.open_file)def open_file(self):path=QFileDialog.getExistingDirectory(self,'打开文件夹','./')if path:self.text_bro.setText(path)
总体代码
class win_taking(QWidget):def __init__(self):super(win_taking,self).__init__()# 消息框self.btn_message = QPushButton('打开消息框')self.btn_message.clicked.connect(self.open_message)# 颜色对话框self.btn_color = QPushButton('打开颜色对话框')self.btn_color.clicked.connect(self.open_color)# 字体对话框self.btn_word = QPushButton('打开字体对话框')self.btn_word.clicked.connect(self.open_word)# 输入对话框self.btn_input = QPushButton('打开输入对话框')self.btn_input.clicked.connect(self.open_input)# 文件对话框self.btn_file = QPushButton('打开文件对话框')self.btn_file.clicked.connect(self.open_file)# 文本浏览框self.text_bro = QTextBrowser()#布局h1_layout = QHBoxLayout()h1_layout.addWidget(self.text_bro)h_layout=QHBoxLayout()h_layout.addWidget(self.btn_message)h_layout.addWidget(self.btn_color)h_layout.addWidget(self.btn_word)h_layout.addWidget(self.btn_input)h_layout.addWidget(self.btn_file)v_layout = QVBoxLayout()v_layout.addLayout(h_layout)v_layout.addLayout(h1_layout)self.setLayout(v_layout)def open_message(self):QMessageBox.information(self, "Tips", 'open the message?', QMessageBox.Yes | QMessageBox.No)def open_color(self):color=QColorDialog.getColor()if color.isValid():self.text_bro.setText(color.name())def open_word(self):font,is_ok=QFontDialog.getFont()if is_ok:self.text_bro.setStyleSheet("font-family: font; font-size: 16px;")def open_input(self):num,is_ok=QInputDialog.getText(self,'输入:',"数字")if is_ok:self.text_bro.setText(num)def open_file(self):path=QFileDialog.getExistingDirectory(self,'打开文件夹','./')if path:self.text_bro.setText(path)
总结
以上就将五种对话框控件进行使用介绍,大家可以根据自己的使用情况进行进一步的扩展!