前言
PyQt5 中的对话框控件用于创建和管理各种类型的对话框,用于收集用户输入、显示信息、警告或执行其他交互任务。
下面来介绍一些对话框的使用!
QMessageBox
消息框,用于向用户显示信息、警告、错误等消息,并提供按钮供用户响应。 这里使用一个按钮,直接触发按钮事件,然后弹出消息框,进行选择。这里可以设置对话框的抬头为"Tips",以及对话的内容。
# 消息框
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)
这里的布局就不介绍了,通过按钮的形式,结合实际对话框的使用,将我们介绍的五种对话框都使用起来了!
总结
以上就将五种对话框控件进行使用介绍,大家可以根据自己的使用情况进行进一步的扩展!