PyQt5 各种弹出对话框的总结

忙碌了两天才总结完,深刻体会到 “编程在实践中才能领悟更深”,后续有了更多的 理解继续来补充。。。

效果如下:

参考:

https://www.cnblogs.com/hhh5460/p/4271475.html

 # -*- coding: utf-8 -*-
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys class DialogOptionsWidget(QWidget):
def __init__(self, parent=None):
super(DialogOptionsWidget, self).__init__(parent) def addCheckBox(self, text, value):
pass def addSpacer():
pass def value():
pass class StandardDialog(QDialog):
def __init__(self, parent=None):
super(StandardDialog, self).__init__(parent) self.setWindowTitle("Standard Dialog") frameStyle = QFrame.Sunken | QFrame.Panel mainLayout = QVBoxLayout(self)
toolbox = QToolBox()
mainLayout.addWidget(toolbox) self.errorMessageDialog = QErrorMessage(self) pushButton_integer = QPushButton("QInputDialog.get&Int()")
pushButton_double = QPushButton("QInputDialog.get&Double()")
pushButton_item = QPushButton("QInputDialog.getIte&m()")
pushButton_text = QPushButton("QInputDialog.get&Text()")
pushButton_multiLineText = QPushButton("QInputDialog.get&MultiLineText()")
pushButton_color = QPushButton("QColorDialog.get&Color()")
pushButton_font = QPushButton("QFontDialog.get&Font()")
pushButton_directory = QPushButton("QFileDialog.getE&xistingDirectory()")
pushButton_openFileName = QPushButton("QFileDialog.get&OpenFileName()")
pushButton_openFileNames = QPushButton("QFileDialog.&getOpenFileNames()")
pushButton_saveFileName = QPushButton("QFileDialog.get&SaveFileName()")
pushButton_critical = QPushButton("QMessageBox.critica&l()")
pushButton_information = QPushButton("QMessageBox.i&nformation()")
pushButton_question = QPushButton("QQMessageBox.&question()")
pushButton_warning = QPushButton("QMessageBox.&warning()")
pushButton_error = QPushButton("QErrorMessage.showM&essage()") self.label_integer = QLabel()
self.label_double = QLabel()
self.label_item = QLabel()
self.label_text = QLabel()
self.label_multiLineText = QLabel()
self.label_color = QLabel()
self.label_font = QLabel()
self.label_directory = QLabel()
self.label_openFileName = QLabel()
self.label_openFileNames = QLabel()
self.label_saveFileName = QLabel()
self.label_critical = QLabel()
self.label_information = QLabel()
self.label_question = QLabel()
self.label_warning = QLabel()
self.label_error = QLabel() self.label_integer.setFrameStyle(frameStyle)
self.label_double.setFrameStyle(frameStyle)
self.label_item.setFrameStyle(frameStyle)
self.label_text.setFrameStyle(frameStyle)
self.label_multiLineText.setFrameStyle(frameStyle)
self.label_color.setFrameStyle(frameStyle)
self.label_font.setFrameStyle(frameStyle)
self.label_directory.setFrameStyle(frameStyle)
self.label_openFileName.setFrameStyle(frameStyle)
self.label_openFileNames.setFrameStyle(frameStyle)
self.label_saveFileName.setFrameStyle(frameStyle)
self.label_critical.setFrameStyle(frameStyle)
self.label_information.setFrameStyle(frameStyle)
self.label_question.setFrameStyle(frameStyle)
self.label_warning.setFrameStyle(frameStyle)
self.label_error.setFrameStyle(frameStyle) page = QWidget()
layout = QGridLayout(page)
layout.setColumnStretch(1, 1)
layout.setColumnMinimumWidth(1, 250)
layout.addWidget(pushButton_integer, 0, 0)
layout.addWidget(self.label_integer, 0, 1)
layout.addWidget(pushButton_double, 1, 0)
layout.addWidget(self.label_double, 1, 1)
layout.addWidget(pushButton_item, 2, 0)
layout.addWidget(self.label_item, 2, 1)
layout.addWidget(pushButton_text, 3, 0)
layout.addWidget(self.label_text, 3, 1)
layout.addWidget(pushButton_multiLineText, 4, 0)
layout.addWidget(self.label_multiLineText, 4, 1)
layout.addItem(QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.MinimumExpanding), 5, 0)
toolbox.addItem(page, "Input Dialog") page = QWidget()
layout = QGridLayout(page)
layout.setColumnStretch(1, 1)
# layout.setColumnMinimumWidth(1,250)
layout.addWidget(pushButton_color, 0, 0)
layout.addWidget(self.label_color, 0, 1)
colorDialogOptionsWidget = DialogOptionsWidget()
colorDialogOptionsWidget.addCheckBox("Do not use native dialog", QColorDialog.DontUseNativeDialog)
colorDialogOptionsWidget.addCheckBox("Show alpha channel", QColorDialog.ShowAlphaChannel)
colorDialogOptionsWidget.addCheckBox("No buttons", QColorDialog.NoButtons)
layout.addItem(QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.MinimumExpanding), 1, 0)
layout.addWidget(colorDialogOptionsWidget, 2, 0, 1, 2)
toolbox.addItem(page, "Color Dialog") page = QWidget()
layout = QGridLayout(page)
layout.setColumnStretch(1, 1)
layout.addWidget(pushButton_font, 0, 0)
layout.addWidget(self.label_font, 0, 1)
fontDialogOptionsWidget = DialogOptionsWidget()
fontDialogOptionsWidget.addCheckBox("Do not use native dialog", QFontDialog.DontUseNativeDialog)
fontDialogOptionsWidget.addCheckBox("No buttons", QFontDialog.NoButtons)
layout.addItem(QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.MinimumExpanding), 1, 0)
layout.addWidget(fontDialogOptionsWidget, 2, 0, 1, 2)
toolbox.addItem(page, "Font Dialog") page = QWidget()
layout = QGridLayout(page)
layout.setColumnStretch(1, 1)
layout.addWidget(pushButton_directory, 0, 0)
layout.addWidget(self.label_directory, 0, 1)
layout.addWidget(pushButton_openFileName, 1, 0)
layout.addWidget(self.label_openFileName, 1, 1)
layout.addWidget(pushButton_openFileNames, 2, 0)
layout.addWidget(self.label_openFileNames, 2, 1)
layout.addWidget(pushButton_saveFileName, 3, 0)
layout.addWidget(self.label_saveFileName, 3, 1)
fileDialogOptionsWidget = DialogOptionsWidget()
fileDialogOptionsWidget.addCheckBox("Do not use native dialog", QFileDialog.DontUseNativeDialog)
fileDialogOptionsWidget.addCheckBox("Show directories only", QFileDialog.ShowDirsOnly)
fileDialogOptionsWidget.addCheckBox("Do not resolve symlinks", QFileDialog.DontResolveSymlinks)
fileDialogOptionsWidget.addCheckBox("Do not confirm overwrite", QFileDialog.DontConfirmOverwrite)
fileDialogOptionsWidget.addCheckBox("Do not use sheet", QFileDialog.DontUseSheet)
fileDialogOptionsWidget.addCheckBox("Readonly", QFileDialog.ReadOnly)
fileDialogOptionsWidget.addCheckBox("Hide name filter details", QFileDialog.HideNameFilterDetails)
layout.addItem(QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.MinimumExpanding), 4, 0)
layout.addWidget(fileDialogOptionsWidget, 5, 0, 1, 2)
toolbox.addItem(page, "File Dialogs") page = QWidget()
layout = QGridLayout(page)
layout.setColumnStretch(1, 1)
layout.addWidget(pushButton_critical, 0, 0)
layout.addWidget(self.label_critical, 0, 1)
layout.addWidget(pushButton_information, 1, 0)
layout.addWidget(self.label_information, 1, 1)
layout.addWidget(pushButton_question, 2, 0)
layout.addWidget(self.label_question, 2, 1)
layout.addWidget(pushButton_warning, 3, 0)
layout.addWidget(self.label_warning, 3, 1)
layout.addWidget(pushButton_error, 4, 0)
layout.addWidget(self.label_error, 4, 1)
layout.addItem(QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.MinimumExpanding), 5, 0)
toolbox.addItem(page, "Message Boxes") pushButton_integer.clicked.connect(self.setInteger)
pushButton_double.clicked.connect(self.setDouble)
pushButton_item.clicked.connect(self.setItem)
pushButton_text.clicked.connect(self.setText)
pushButton_multiLineText.clicked.connect(self.setMultiLineText)
pushButton_color.clicked.connect(self.setColor)
pushButton_font.clicked.connect(self.setFont)
pushButton_directory.clicked.connect(self.setExistingDirectory)
pushButton_openFileName.clicked.connect(self.setOpenFileName)
pushButton_openFileNames.clicked.connect(self.setOpenFileNames)
pushButton_saveFileName.clicked.connect(self.setSaveFileName)
pushButton_critical.clicked.connect(self.criticalMessage)
pushButton_information.clicked.connect(self.informationMessage)
pushButton_question.clicked.connect(self.questionMessage)
pushButton_warning.clicked.connect(self.warningMessage)
pushButton_error.clicked.connect(self.errorMessage) # 输入对话框 取整数
def setInteger(self):
intNum, ok = QInputDialog.getInt(self, "QInputDialog.getInteger()", "Percentage:", 25, 0, 100, 1)
if ok:
self.label_integer.setText(str(intNum)) # 输入对话框 取实数
def setDouble(self):
doubleNum, ok = QInputDialog.getDouble(self, "QInputDialog.getDouble()", "Amount:", 37.56, -10000, 10000, 2)
if ok:
self.label_double.setText(str(doubleNum)) # 输入对话框 取列表项
def setItem(self):
items = ["Spring", "Summer", "Fall", "Winter"]
item, ok = QInputDialog.getItem(self, "QInputDialog.getItem()", "Season:", items, 0, False)
if ok and item:
self.label_item.setText(item) # 输入对话框 取文本
def setText(self):
text, ok = QInputDialog.getText(self, "QInputDialog.getText()", "User name:", QLineEdit.Normal,
QDir.home().dirName())
if ok and text:
self.label_text.setText(text) # 输入对话框 取多行文本
def setMultiLineText(self):
text, ok = QInputDialog.getMultiLineText(self, "QInputDialog.getMultiLineText()", "Address:",
"John Doe\nFreedom Street")
if ok and text:
self.label_multiLineText.setText(text) # 颜色对话框 取颜色
def setColor(self):
# options = QColorDialog.ColorDialogOptions(QFlag.QFlag(colorDialogOptionsWidget.value()))
color = QColorDialog.getColor(Qt.green, self, "Select Color") if color.isValid():
self.label_color.setText(color.name())
self.label_color.setPalette(QPalette(color))
self.label_color.setAutoFillBackground(True) # 字体对话框 取字体
def setFont(self):
# options = QFontDialog.FontDialogOptions(QFlag(fontDialogOptionsWidget.value()))
# font, ok = QFontDialog.getFont(ok, QFont(self.label_font.text()), self, "Select Font",options)
font, ok = QFontDialog.getFont()
if ok:
self.label_font.setText(font.key())
self.label_font.setFont(font) # 目录对话框 取目录
def setExistingDirectory(self):
# options = QFileDialog.Options(QFlag(fileDialogOptionsWidget->value()))
# options |= QFileDialog.DontResolveSymlinks | QFileDialog.ShowDirsOnly
directory = QFileDialog.getExistingDirectory(self,
"QFileDialog.getExistingDirectory()",
self.label_directory.text())
if directory:
self.label_directory.setText(directory) # 打开文件对话框 取文件名
def setOpenFileName(self):
# options = QFileDialog.Options(QFlag(fileDialogOptionsWidget.value()))
# selectedFilter
fileName, filetype = QFileDialog.getOpenFileName(self,
"QFileDialog.getOpenFileName()",
self.label_openFileName.text(),
"All Files (*);;Text Files (*.txt)")
if fileName:
self.label_openFileName.setText(fileName) # 打开文件对话框 取一组文件名
def setOpenFileNames(self):
# options = QFileDialog.Options(QFlag(fileDialogOptionsWidget.value()))
# selectedFilter
openFilesPath = "D:/documents/pyMarksix/draw/"
files, ok = QFileDialog.getOpenFileNames(self,
"QFileDialog.getOpenFileNames()",
openFilesPath,
"All Files (*);;Text Files (*.txt)") if len(files):
self.label_openFileNames.setText(", ".join(files)) # 保存文件对话框 取文件名
def setSaveFileName(self):
# options = QFileDialog.Options(QFlag(fileDialogOptionsWidget.value()))
# selectedFilter
fileName, ok = QFileDialog.getSaveFileName(self,
"QFileDialog.getSaveFileName()",
self.label_saveFileName.text(),
"All Files (*);;Text Files (*.txt)")
if fileName:
self.label_saveFileName.setText(fileName) def criticalMessage(self):
# reply = QMessageBox.StandardButton()
MESSAGE = "批评!"
reply = QMessageBox.critical(self,
"QMessageBox.critical()",
MESSAGE,
QMessageBox.Abort | QMessageBox.Retry | QMessageBox.Ignore)
if reply == QMessageBox.Abort:
self.label_critical.setText("Abort")
elif reply == QMessageBox.Retry:
self.label_critical.setText("Retry")
else:
self.label_critical.setText("Ignore") def informationMessage(self):
MESSAGE = "信息"
reply = QMessageBox.information(self, "QMessageBox.information()", MESSAGE)
if reply == QMessageBox.Ok:
self.label_information.setText("OK")
else:
self.label_information.setText("Escape") def questionMessage(self):
MESSAGE = "疑问"
reply = QMessageBox.question(self, "QMessageBox.question()",
MESSAGE,
QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel)
if reply == QMessageBox.Yes:
self.label_question.setText("Yes")
elif reply == QMessageBox.No:
self.label_question.setText("No")
else:
self.label_question.setText("Cancel") def warningMessage(self):
MESSAGE = "警告文本"
msgBox = QMessageBox(QMessageBox.Warning,
"QMessageBox.warning()",
MESSAGE,
QMessageBox.Retry | QMessageBox.Discard | QMessageBox.Cancel,
self)
msgBox.setDetailedText("详细信息。。。")
# msgBox.addButton("Save &Again", QMessageBox.AcceptRole)
# msgBox.addButton("&Continue", QMessageBox.RejectRole)
if msgBox.exec() == QMessageBox.AcceptRole:
self.label_warning.setText("Retry")
else:
self.label_warning.setText("Abort") def errorMessage(self):
self.errorMessageDialog.showMessage(
"This dialog shows and remembers error messages. "
"If the checkbox is checked (as it is by default), "
"the shown message will be shown again, "
"but if the user unchecks the box the message "
"will not appear again if QErrorMessage.showMessage() "
"is called with the same message.")
self.label_error.setText("If the box is unchecked, the message "
"won't appear again.") app = QApplication(sys.argv)
form = StandardDialog()
form.show()
app.exec_()

参考代码

https://blog.csdn.net/jia666666/article/details/81560756

https://www.jb51.net/article/134636.htm

Qt设计师代码:

 from PyQt5 import QtCore, QtGui, QtWidgets

 class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(474, 423)
Dialog.setSizeGripEnabled(True)
self.verticalLayout_2 = QtWidgets.QVBoxLayout(Dialog)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.toolBox = QtWidgets.QToolBox(Dialog)
self.toolBox.setObjectName("toolBox")
self.page = QtWidgets.QWidget()
self.page.setGeometry(QtCore.QRect(0, 0, 456, 275))
self.page.setObjectName("page")
self.verticalLayout = QtWidgets.QVBoxLayout(self.page)
self.verticalLayout.setObjectName("verticalLayout")
self.frame = QtWidgets.QFrame(self.page)
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
self.gridLayout = QtWidgets.QGridLayout(self.frame)
self.gridLayout.setObjectName("gridLayout")
self.pushButton_3 = QtWidgets.QPushButton(self.frame)
self.pushButton_3.setObjectName("pushButton_3")
self.gridLayout.addWidget(self.pushButton_3, 2, 0, 1, 1)
self.label = QtWidgets.QLabel(self.frame)
self.label.setFrameShape(QtWidgets.QFrame.Panel)
self.label.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label.setText("")
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 0, 2, 1, 1)
self.pushButton_2 = QtWidgets.QPushButton(self.frame)
self.pushButton_2.setObjectName("pushButton_2")
self.gridLayout.addWidget(self.pushButton_2, 1, 0, 1, 1)
self.pushButton = QtWidgets.QPushButton(self.frame)
self.pushButton.setObjectName("pushButton")
self.gridLayout.addWidget(self.pushButton, 0, 0, 1, 1)
self.pushButton_4 = QtWidgets.QPushButton(self.frame)
self.pushButton_4.setObjectName("pushButton_4")
self.gridLayout.addWidget(self.pushButton_4, 3, 0, 1, 1)
self.pushButton_5 = QtWidgets.QPushButton(self.frame)
self.pushButton_5.setObjectName("pushButton_5")
self.gridLayout.addWidget(self.pushButton_5, 4, 0, 1, 1)
self.label_2 = QtWidgets.QLabel(self.frame)
self.label_2.setFrameShape(QtWidgets.QFrame.Panel)
self.label_2.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_2.setText("")
self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 1, 2, 1, 1)
self.label_4 = QtWidgets.QLabel(self.frame)
self.label_4.setFrameShape(QtWidgets.QFrame.Panel)
self.label_4.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_4.setText("")
self.label_4.setObjectName("label_4")
self.gridLayout.addWidget(self.label_4, 3, 2, 1, 1)
self.label_5 = QtWidgets.QLabel(self.frame)
self.label_5.setFrameShape(QtWidgets.QFrame.Panel)
self.label_5.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_5.setText("")
self.label_5.setObjectName("label_5")
self.gridLayout.addWidget(self.label_5, 4, 2, 1, 1)
self.label_3 = QtWidgets.QLabel(self.frame)
self.label_3.setFrameShape(QtWidgets.QFrame.Panel)
self.label_3.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_3.setText("")
self.label_3.setObjectName("label_3")
self.gridLayout.addWidget(self.label_3, 2, 2, 1, 1)
self.verticalLayout.addWidget(self.frame)
self.toolBox.addItem(self.page, "")
self.page_2 = QtWidgets.QWidget()
self.page_2.setGeometry(QtCore.QRect(0, 0, 456, 275))
self.page_2.setObjectName("page_2")
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page_2)
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.frame_2 = QtWidgets.QFrame(self.page_2)
self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_2.setObjectName("frame_2")
self.gridLayout_2 = QtWidgets.QGridLayout(self.frame_2)
self.gridLayout_2.setObjectName("gridLayout_2")
self.pushButton_6 = QtWidgets.QPushButton(self.frame_2)
self.pushButton_6.setObjectName("pushButton_6")
self.gridLayout_2.addWidget(self.pushButton_6, 0, 0, 1, 1)
self.label_6 = QtWidgets.QLabel(self.frame_2)
self.label_6.setFrameShape(QtWidgets.QFrame.Panel)
self.label_6.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_6.setText("")
self.label_6.setObjectName("label_6")
self.gridLayout_2.addWidget(self.label_6, 0, 1, 1, 1)
self.verticalLayout_3.addWidget(self.frame_2)
self.toolBox.addItem(self.page_2, "")
self.page_3 = QtWidgets.QWidget()
self.page_3.setObjectName("page_3")
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.page_3)
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.frame_3 = QtWidgets.QFrame(self.page_3)
self.frame_3.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_3.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_3.setObjectName("frame_3")
self.gridLayout_3 = QtWidgets.QGridLayout(self.frame_3)
self.gridLayout_3.setObjectName("gridLayout_3")
self.label_7 = QtWidgets.QLabel(self.frame_3)
self.label_7.setFrameShape(QtWidgets.QFrame.Panel)
self.label_7.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_7.setText("")
self.label_7.setObjectName("label_7")
self.gridLayout_3.addWidget(self.label_7, 0, 1, 1, 1)
self.pushButton_7 = QtWidgets.QPushButton(self.frame_3)
self.pushButton_7.setObjectName("pushButton_7")
self.gridLayout_3.addWidget(self.pushButton_7, 0, 0, 1, 1)
self.verticalLayout_4.addWidget(self.frame_3)
self.toolBox.addItem(self.page_3, "")
self.page_4 = QtWidgets.QWidget()
self.page_4.setObjectName("page_4")
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.page_4)
self.verticalLayout_5.setObjectName("verticalLayout_5")
self.frame_4 = QtWidgets.QFrame(self.page_4)
self.frame_4.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_4.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_4.setObjectName("frame_4")
self.gridLayout_4 = QtWidgets.QGridLayout(self.frame_4)
self.gridLayout_4.setObjectName("gridLayout_4")
self.label_8 = QtWidgets.QLabel(self.frame_4)
self.label_8.setFrameShape(QtWidgets.QFrame.Panel)
self.label_8.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_8.setText("")
self.label_8.setObjectName("label_8")
self.gridLayout_4.addWidget(self.label_8, 0, 1, 1, 1)
self.pushButton_8 = QtWidgets.QPushButton(self.frame_4)
self.pushButton_8.setObjectName("pushButton_8")
self.gridLayout_4.addWidget(self.pushButton_8, 0, 0, 1, 1)
self.pushButton_9 = QtWidgets.QPushButton(self.frame_4)
self.pushButton_9.setObjectName("pushButton_9")
self.gridLayout_4.addWidget(self.pushButton_9, 1, 0, 1, 1)
self.label_10 = QtWidgets.QLabel(self.frame_4)
self.label_10.setFrameShape(QtWidgets.QFrame.Panel)
self.label_10.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_10.setText("")
self.label_10.setObjectName("label_10")
self.gridLayout_4.addWidget(self.label_10, 2, 1, 1, 1)
self.label_9 = QtWidgets.QLabel(self.frame_4)
self.label_9.setFrameShape(QtWidgets.QFrame.Panel)
self.label_9.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_9.setText("")
self.label_9.setObjectName("label_9")
self.gridLayout_4.addWidget(self.label_9, 1, 1, 1, 1)
self.pushButton_10 = QtWidgets.QPushButton(self.frame_4)
self.pushButton_10.setObjectName("pushButton_10")
self.gridLayout_4.addWidget(self.pushButton_10, 2, 0, 1, 1)
self.pushButton_11 = QtWidgets.QPushButton(self.frame_4)
self.pushButton_11.setObjectName("pushButton_11")
self.gridLayout_4.addWidget(self.pushButton_11, 3, 0, 1, 1)
self.label_11 = QtWidgets.QLabel(self.frame_4)
self.label_11.setFrameShape(QtWidgets.QFrame.Panel)
self.label_11.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_11.setText("")
self.label_11.setObjectName("label_11")
self.gridLayout_4.addWidget(self.label_11, 3, 1, 1, 1)
self.verticalLayout_5.addWidget(self.frame_4)
self.toolBox.addItem(self.page_4, "")
self.page_5 = QtWidgets.QWidget()
self.page_5.setObjectName("page_5")
self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.page_5)
self.verticalLayout_6.setObjectName("verticalLayout_6")
self.frame_5 = QtWidgets.QFrame(self.page_5)
self.frame_5.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_5.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_5.setObjectName("frame_5")
self.gridLayout_5 = QtWidgets.QGridLayout(self.frame_5)
self.gridLayout_5.setObjectName("gridLayout_5")
self.pushButton_12 = QtWidgets.QPushButton(self.frame_5)
self.pushButton_12.setObjectName("pushButton_12")
self.gridLayout_5.addWidget(self.pushButton_12, 0, 0, 1, 1)
self.label_12 = QtWidgets.QLabel(self.frame_5)
self.label_12.setFrameShape(QtWidgets.QFrame.Panel)
self.label_12.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_12.setText("")
self.label_12.setObjectName("label_12")
self.gridLayout_5.addWidget(self.label_12, 0, 1, 1, 1)
self.pushButton_13 = QtWidgets.QPushButton(self.frame_5)
self.pushButton_13.setObjectName("pushButton_13")
self.gridLayout_5.addWidget(self.pushButton_13, 1, 0, 1, 1)
self.label_13 = QtWidgets.QLabel(self.frame_5)
self.label_13.setFrameShape(QtWidgets.QFrame.Panel)
self.label_13.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_13.setText("")
self.label_13.setObjectName("label_13")
self.gridLayout_5.addWidget(self.label_13, 1, 1, 1, 1)
self.pushButton_16 = QtWidgets.QPushButton(self.frame_5)
self.pushButton_16.setObjectName("pushButton_16")
self.gridLayout_5.addWidget(self.pushButton_16, 4, 0, 1, 1)
self.pushButton_15 = QtWidgets.QPushButton(self.frame_5)
self.pushButton_15.setObjectName("pushButton_15")
self.gridLayout_5.addWidget(self.pushButton_15, 3, 0, 1, 1)
self.pushButton_14 = QtWidgets.QPushButton(self.frame_5)
self.pushButton_14.setObjectName("pushButton_14")
self.gridLayout_5.addWidget(self.pushButton_14, 2, 0, 1, 1)
self.label_14 = QtWidgets.QLabel(self.frame_5)
self.label_14.setFrameShape(QtWidgets.QFrame.Panel)
self.label_14.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_14.setText("")
self.label_14.setObjectName("label_14")
self.gridLayout_5.addWidget(self.label_14, 2, 1, 1, 1)
self.label_15 = QtWidgets.QLabel(self.frame_5)
self.label_15.setFrameShape(QtWidgets.QFrame.Panel)
self.label_15.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_15.setText("")
self.label_15.setObjectName("label_15")
self.gridLayout_5.addWidget(self.label_15, 3, 1, 1, 1)
self.label_16 = QtWidgets.QLabel(self.frame_5)
self.label_16.setFrameShape(QtWidgets.QFrame.Panel)
self.label_16.setFrameShadow(QtWidgets.QFrame.Sunken)
self.label_16.setText("")
self.label_16.setObjectName("label_16")
self.gridLayout_5.addWidget(self.label_16, 4, 1, 1, 1)
self.verticalLayout_6.addWidget(self.frame_5)
self.toolBox.addItem(self.page_5, "")
self.verticalLayout_2.addWidget(self.toolBox) self.retranslateUi(Dialog)
self.toolBox.setCurrentIndex(4)
QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.pushButton_3.setText(_translate("Dialog", "QInputDialog.getIte&m()"))
self.pushButton_2.setText(_translate("Dialog", "QInputDialog.get&Double()"))
self.pushButton.setText(_translate("Dialog", "QInputDialog.get&Int()"))
self.pushButton_4.setText(_translate("Dialog", "QInputDialog.get&Text()"))
self.pushButton_5.setText(_translate("Dialog", "QInputDialog.get&MultiLineText()"))
self.toolBox.setItemText(self.toolBox.indexOf(self.page), _translate("Dialog", "Input Dialog"))
self.pushButton_6.setText(_translate("Dialog", "QColorDialog.get&Color()"))
self.toolBox.setItemText(self.toolBox.indexOf(self.page_2), _translate("Dialog", "Color Dialog"))
self.pushButton_7.setText(_translate("Dialog", "QFontDialog.get&Font()"))
self.toolBox.setItemText(self.toolBox.indexOf(self.page_3), _translate("Dialog", "Font Dialog"))
self.pushButton_8.setText(_translate("Dialog", "QFileDialog.getE&xistingDirectory()"))
self.pushButton_9.setText(_translate("Dialog", "\"QFileDialog.get&OpenFileName()"))
self.pushButton_10.setText(_translate("Dialog", "QFileDialog.&getOpenFileNames()"))
self.pushButton_11.setText(_translate("Dialog", "QFileDialog.get&SaveFileName()"))
self.toolBox.setItemText(self.toolBox.indexOf(self.page_4), _translate("Dialog", "File Dialogs"))
self.pushButton_12.setText(_translate("Dialog", "QMessageBox.critica&l()"))
self.pushButton_13.setText(_translate("Dialog", "QMessageBox.i&nformation()"))
self.pushButton_16.setText(_translate("Dialog", "QErrorMessage.showM&essage()"))
self.pushButton_15.setText(_translate("Dialog", "QMessageBox.&warning()"))
self.pushButton_14.setText(_translate("Dialog", "QQMessageBox.&question()"))
self.toolBox.setItemText(self.toolBox.indexOf(self.page_5), _translate("Dialog", "Message Boxes")) if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())

界面代码

 # -*- coding: utf-8 -*-
from PyQt5.QtCore import pyqtSlot,QDir,Qt
from PyQt5.QtGui import QPixmap,QFont,QIcon,QPalette
from PyQt5.QtWidgets import QDialog, QApplication, QInputDialog,QErrorMessage,QLineEdit,QColorDialog,QFontDialog,QFileDialog,QMessageBox
from Ui_dialogs import Ui_Dialog
import sys class Dialog(QDialog, Ui_Dialog):
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
self.setupUi(self)
self.errorMessageDialog = QErrorMessage(self) self.slotCustom() #自定义一个对话框
def slotCustom(self):
customMsgBox = QMessageBox(self)
customMsgBox.setWindowTitle("Custom message box")
lockButton = customMsgBox.addButton(self.tr("锁定"),
QMessageBox.ActionRole)
unlockButton = customMsgBox.addButton(self.tr("解锁"),
QMessageBox.ActionRole)
cancelButton = customMsgBox.addButton("cancel", QMessageBox.ActionRole) customMsgBox.setText(self.tr("这是一个自定义消息框!"))
customMsgBox.exec_() button = customMsgBox.clickedButton()
if button == lockButton:
self.label.setText("Custom MessageBox/Lock")
elif button == unlockButton:
self.label.setText("Custom MessageBox/Unlock")
elif button == cancelButton:
self.label.setText("Custom MessageBox/Cancel") #输入对话框 取整数 @pyqtSlot()
def on_pushButton_clicked(self):
intNum , ok = QInputDialog.getInt(self,"QInputDialog.getInteger()", "Percentage:",value=30,min=0,max=150,step=2) #数字输入默认设为30,范围是0,,10,梯度是2
if ok:
self.label.setText(str(intNum))
# 输入对话框 取实数
@pyqtSlot()
def on_pushButton_2_clicked(self):
doubleNum , ok = QInputDialog.getDouble(self,"QInputDialog.getDouble()", "Amount:", 37.56, -100, 100, 2) #默认输入设为37.56,范围 -100,100,保留2位小数
if ok:
self.label_2.setText(str(doubleNum))
#输入对话框 取列表项
@pyqtSlot()
def on_pushButton_3_clicked(self):
items = ["Spring", "Summer", "Fall", "Winter"]
item, ok = QInputDialog.getItem(self, "QInputDialog.getItem()", "Season:", items, 1, False) #默认是items[1]
if ok and item:
self.label_3.setText(item)
## 输入对话框 取文本
@pyqtSlot()
def on_pushButton_4_clicked(self):
text, ok = QInputDialog.getText(self, "QInputDialog.getText()", "User name:", QLineEdit.Normal,QDir.home().dirName()) #QLineEdit.Normal 设置文本框输入格式:正常显示字符
if ok and text:
self.label_4.setText(text) # 输入对话框 取多行文本
@pyqtSlot()
def on_pushButton_5_clicked(self):
text, ok = QInputDialog.getMultiLineText(self, "QInputDialog.getMultiLineText()", "Address:",
"John Doe\nFreedom Street")
if ok and text:
self.label_5.setText(text) # 颜色对话框QColorDialog 取颜色
@pyqtSlot()
def on_pushButton_6_clicked(self):
# options = QColorDialog.ColorDialogOptions(QFlag.QFlag(colorDialogOptionsWidget.value()))
color = QColorDialog.getColor(Qt.green, self, "Select Color") #默认绿色 if color.isValid():
self.label_6.setText(color.name())
self.label_6.setPalette(QPalette(color)) #引入QPalette 调色板,将选中的颜色设置为背景色
self.label_6.setAutoFillBackground(True) # 字体对话框 取字体
@pyqtSlot()
def on_pushButton_7_clicked(self):
# options = QFontDialog.FontDialogOptions(QFlag(fontDialogOptionsWidget.value()))
# font, ok = QFontDialog.getFont(ok, QFont(self.label_font.text()), self, "Select Font",options)
font, ok = QFontDialog.getFont()
print()
if ok:
self.label_7.setText(font.key())
self.label_7.setFont(font) # 目录对话框 取目录
@pyqtSlot()
def on_pushButton_8_clicked(self):
# options = QFileDialog.Options(QFlag(fileDialogOptionsWidget->value()))
# options |= QFileDialog.DontResolveSymlinks | QFileDialog.ShowDirsOnly
directory = QFileDialog.getExistingDirectory(self,
"QFileDialog.getExistingDirectory()",
self.label_8.text())
if directory:
self.label_8.setText(directory) # 打开文件对话框 取文件名
@pyqtSlot()
def on_pushButton_9_clicked(self):
# options = QFileDialog.Options(QFlag(fileDialogOptionsWidget.value()))
# selectedFilter
fileName, filetype = QFileDialog.getOpenFileName(self,
"QFileDialog.getOpenFileName()",
self.label_9.text(),
"All Files (*);;Text Files (*.txt)")
if fileName:
self.label_9.setText(fileName)
## 打开文件对话框 取多个文件名
@pyqtSlot()
def on_pushButton_10_clicked(self):
# options = QFileDialog.Options(QFlag(fileDialogOptionsWidget.value()))
# selectedFilter
openFilesPath = "D:/"
files, ok = QFileDialog.getOpenFileNames(self,
"QFileDialog.getOpenFileNames()",
openFilesPath,
"All Files (*);;Text Files (*.txt)") if len(files):
self.label_10.setText(", ".join(files)) # 保存文件对话框 取文件名
@pyqtSlot()
def on_pushButton_11_clicked(self):
# options = QFileDialog.Options(QFlag(fileDialogOptionsWidget.value()))
# selectedFilter
fileName, ok = QFileDialog.getSaveFileName(self,
"QFileDialog.getSaveFileName()",
self.label_11.text(),
"All Files (*);;Text Files (*.txt)")
if fileName:
self.label_11.setText(fileName) #警告对话框
@pyqtSlot()
def on_pushButton_12_clicked(self):
# reply = QMessageBox.StandardButton()
reply = QMessageBox.critical(self,
"QMessageBox.critical()",
"批评!",
QMessageBox.Abort | QMessageBox.Retry | QMessageBox.Ignore)
if reply == QMessageBox.Abort:
self.label_12.setText("Abort")
elif reply == QMessageBox.Retry:
self.label_12.setText("Retry")
else:
self.label_12.setText("Ignore") #提示对话框
@pyqtSlot()
def on_pushButton_13_clicked(self):
reply = QMessageBox.information(self, "QMessageBox.information()", "信息")
if reply == QMessageBox.Ok:
self.label_13.setText("OK")
else:
self.label_13.setText("Escape") #询问对话框
@pyqtSlot()
def on_pushButton_14_clicked(self):
MESSAGE = "疑问"
reply = QMessageBox.question(self, "QMessageBox.question()",
MESSAGE,
QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel)
if reply == QMessageBox.Yes:
self.label_14.setText("Yes")
elif reply == QMessageBox.No:
self.label_14.setText("No")
else:
self.label_14.setText("Cancel") #严重警告对话框
@pyqtSlot()
def on_pushButton_15_clicked(self):
MESSAGE = "警告文本"
msgBox = QMessageBox(QMessageBox.Warning,
"QMessageBox.warning()",
MESSAGE,
QMessageBox.Retry | QMessageBox.Discard | QMessageBox.Cancel,
self)
msgBox.setDetailedText("详细信息。。。")
# msgBox.addButton("Save &Again", QMessageBox.AcceptRole)
# msgBox.addButton("&Continue", QMessageBox.RejectRole)
if msgBox.exec() == QMessageBox.AcceptRole:
self.label_15.setText("Retry")
else:
self.label_15.setText("Abort") #错误信息对话框
@pyqtSlot()
def on_pushButton_16_clicked(self):
self.errorMessageDialog.showMessage(
"This dialog shows and remembers error messages. "
"If the checkbox is checked (as it is by default), "
"the shown message will be shown again, "
"but if the user unchecks the box the message "
"will not appear again if QErrorMessage.showMessage() "
"is called with the same message.")
self.label_16.setText("If the box is unchecked, the message "
"won't appear again.") if __name__ == "__main__":
app = QApplication(sys.argv)
ui = Dialog()
ui.show()
sys.exit(app.exec_())

逻辑界面

纯代码完成:

# -*- coding: utf-8 -*-
from PyQt5.QtCore import pyqtSlot, QDir, Qt
from PyQt5.QtGui import QPixmap, QFont, QIcon, QPalette
from PyQt5.QtWidgets import QDialog, QWidget,QApplication,QFrame,QGridLayout,QPushButton,QLabel,QVBoxLayout,\
QHBoxLayout,QInputDialog, QErrorMessage, QLineEdit, QColorDialog, QFontDialog,QFileDialog, QMessageBox,QToolBox
import sys class Demo(QWidget):
def __init__(self, parent=None):
super(Demo, self).__init__(parent)
self.initUi()
self.layout_init()
self.buttonClicked() def initUi(self):
self.setGeometry(300,300,400,360)
self.setWindowTitle("这是一个QToolBox练习")
# self.showFullScreen() def layout_init(self):
frameStyle = QFrame.Panel | QFrame.Sunken
self.horizontaLayout = QHBoxLayout(self)
self.toolBox = QToolBox(self)
self.horizontaLayout.addWidget(self.toolBox)
self.page_1 = QWidget()
self.toolBox.addItem(self.page_1, "Input Dialog输入抽屉框")
# self.toolBox.setItemText(0, "Input Dialog输入抽屉框")
self.frame_1 = QFrame(self.page_1)
self.verticalLayout_1 = QVBoxLayout(self.page_1) #在page_1 中是 垂直布局
self.verticalLayout_1.addWidget(self.frame_1) #在page_1 中有一个frame
self.gridLayout = QGridLayout(self.frame_1)
self.pushButton_11 = QPushButton(self.frame_1) #在网格布局中添加一个按钮pushButton_1
self.pushButton_11.setText("QInputDialog.getInt()")
self.pushButton_12 = QPushButton(self.frame_1)
self.pushButton_12.setText("QInputDialog.get&Double()")
self.pushButton_13 = QPushButton(self.frame_1)
self.pushButton_13.setText("QInputDialog.getIte&m()")
self.pushButton_14 = QPushButton(self.frame_1)
self.pushButton_14.setText("QInputDialog.get&Text()")
self.pushButton_15 = QPushButton(self.frame_1)
self.pushButton_15.setText("QInputDialog.get&MultiLineText()")
self.label_11 = QLabel(self.frame_1) ##在网格布局中添加一个标签label_1
self.label_11.setFrameStyle(frameStyle) #给标签设置样式
self.label_12 = QLabel(self.frame_1)
self.label_12.setFrameStyle(frameStyle)
self.label_13 = QLabel(self.frame_1)
self.label_13.setFrameStyle(frameStyle)
self.label_14 = QLabel(self.frame_1)
self.label_14.setFrameStyle(frameStyle)
self.label_15 = QLabel(self.frame_1)
self.label_15.setFrameStyle(frameStyle)
self.gridLayout.addWidget(self.pushButton_11,0,0,1,1)
self.gridLayout.addWidget(self.label_11,0,1,1,2)
self.gridLayout.addWidget(self.pushButton_12, 1, 0, 1, 1)
self.gridLayout.addWidget(self.label_12, 1, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_13, 2, 0, 1, 1)
self.gridLayout.addWidget(self.label_13, 2, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_14, 3, 0, 1, 1)
self.gridLayout.addWidget(self.label_14, 3, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_15, 4, 0, 1, 1)
self.gridLayout.addWidget(self.label_15, 4, 1, 1, 2) self.page_2 = QWidget()
self.toolBox.addItem(self.page_2, "颜色&字体抽屉框")
# self.toolBox.setItemText(1, "颜色&字体抽屉框")
self.frame_2 = QFrame(self.page_2)
self.verticalLayout_2 = QVBoxLayout(self.page_2)
self.verticalLayout_2.addWidget(self.frame_2)
self.gridLayout = QGridLayout(self.frame_2)
self.pushButton_21 = QPushButton(self.frame_2)
self.pushButton_21.setText("QColorDialog.get&Color()")
self.label_21 = QLabel(self.frame_2)
self.label_21.setFrameStyle(frameStyle)
self.pushButton_22 = QPushButton(self.frame_2)
self.pushButton_22.setText("QFontDialog.get&Font()")
self.label_22 = QLabel(self.frame_2)
self.label_22.setFrameStyle(frameStyle)
self.gridLayout.addWidget(self.pushButton_21, 0, 0, 1, 1)
self.gridLayout.addWidget(self.label_21, 0, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_22, 1, 0, 1, 1)
self.gridLayout.addWidget(self.label_22, 1, 1, 1, 2) self.page_3 = QWidget()
self.toolBox.addItem(self.page_3, "文件抽屉框")
# self.toolBox.setItemText(2, "文件抽屉框")
self.frame = QFrame(self.page_3)
self.verticalLayout_3 = QVBoxLayout(self.page_3)
self.verticalLayout_3.addWidget(self.frame)
self.gridLayout = QGridLayout(self.frame)
self.pushButton_31 = QPushButton(self.frame)
self.pushButton_31.setText("QFileDialog.getE&xistingDirectory()")
self.label_31 = QLabel(self.frame)
self.label_31.setFrameStyle(frameStyle)
self.pushButton_32 = QPushButton(self.frame)
self.pushButton_32.setText("QFileDialog.get&OpenFileName()")
self.label_32 = QLabel(self.frame)
self.label_32.setFrameStyle(frameStyle)
self.pushButton_33 = QPushButton(self.frame)
self.pushButton_33.setText("QFileDialog.&getOpenFileNames()")
self.label_33 = QLabel(self.frame)
self.label_33.setFrameStyle(frameStyle)
self.pushButton_34 = QPushButton(self.frame)
self.pushButton_34.setText("QFileDialog.get&SaveFileName()")
self.label_34 = QLabel(self.frame)
self.label_34.setFrameStyle(frameStyle)
self.gridLayout.addWidget(self.pushButton_31, 0, 0, 1, 1)
self.gridLayout.addWidget(self.label_31, 0, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_32, 1, 0, 1, 1)
self.gridLayout.addWidget(self.label_32, 1, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_33, 2, 0, 1, 1)
self.gridLayout.addWidget(self.label_33, 2, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_34, 3, 0, 1, 1)
self.gridLayout.addWidget(self.label_34, 3, 1, 1, 2) self.page_4 = QWidget()
self.toolBox.addItem(self.page_4, "Message信息提示抽屉框")
# self.toolBox.setItemText(3, "Message信息提示抽屉框") #第4个框 标题是 "Message信息提示抽屉框"
self.frame = QFrame(self.page_4)
self.verticalLayout_4 = QVBoxLayout(self.page_4)
self.verticalLayout_4.addWidget(self.frame)
self.gridLayout = QGridLayout(self.frame)
self.pushButton_41 = QPushButton(self.frame)
self.pushButton_41.setText("QColorDialog.get&Color()")
self.label_41 = QLabel(self.frame)
self.label_41.setFrameStyle(frameStyle)
self.pushButton_42 = QPushButton(self.frame)
self.pushButton_42.setText("QFontDialog.get&Font()")
self.label_42 = QLabel(self.frame)
self.label_42.setFrameStyle(frameStyle)
self.pushButton_43 = QPushButton(self.frame)
self.pushButton_43.setText("QFontDialog.get&Font()")
self.label_43 = QLabel(self.frame)
self.label_43.setFrameStyle(frameStyle)
self.pushButton_44 = QPushButton(self.frame)
self.pushButton_44.setText("QFontDialog.get&Font()")
self.label_44 = QLabel(self.frame)
self.label_44.setFrameStyle(frameStyle)
self.pushButton_45 = QPushButton(self.frame)
self.pushButton_45.setText("QFontDialog.get&Font()")
self.label_45 = QLabel(self.frame)
self.label_45.setFrameStyle(frameStyle)
self.gridLayout.addWidget(self.pushButton_41, 0, 0, 1, 1)
self.gridLayout.addWidget(self.label_41, 0, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_42, 1, 0, 1, 1)
self.gridLayout.addWidget(self.label_42, 1, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_43, 2, 0, 1, 1)
self.gridLayout.addWidget(self.label_43, 2, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_44, 3, 0, 1, 1)
self.gridLayout.addWidget(self.label_44, 3, 1, 1, 2)
self.gridLayout.addWidget(self.pushButton_45, 4, 0, 1, 1)
self.gridLayout.addWidget(self.label_45, 4, 1, 1, 2) def buttonClicked(self):
self.pushButton_11.clicked.connect(self.inputDialog_getInt)
self.pushButton_12.clicked.connect(self.inputDialog_getDouble)
self.pushButton_13.clicked.connect(self.inputDialog_getItem)
self.pushButton_14.clicked.connect(self.inputDialog_getText)
self.pushButton_15.clicked.connect(self.inputDialog_getMultiLineText) self.pushButton_21.clicked.connect(self.colorDialog_getColor)
self.pushButton_22.clicked.connect(self.fontDialog_getFont) def inputDialog_getInt(self):
intNum ,ok = QInputDialog.getInt(self,"整数输入框","输入整数:",10,0,100,2)
if ok:
self.label_11.setText(str(intNum)) def inputDialog_getDouble(self):
doubleNum , ok = QInputDialog.getDouble(self,"实数输入框!","输入实数:",3.14,-20.0,20.0,2)
if ok:
self.label_12.setText(str(doubleNum)) def inputDialog_getItem(self):
items = ["China","American","British","Russia","India"]
item , ok = QInputDialog.getItem(self,"项目对话框!","选择项目:",items,0)
if ok and item:
self.label_13.setText(item) def inputDialog_getText(self):
text , ok = QInputDialog.getText(self,"单行文本输入对话框!","请输入单行文本:",echo=QLineEdit.Normal ,text="这是默认的文本。。。")
if ok and text:
self.label_14.setText(text) def inputDialog_getMultiLineText(self):
multi_text , ok = QInputDialog.getMultiLineText(self,"多行文本输入对话框!","在此输入多行文本:","这是默认的文本。。。")
if ok and multi_text:
self.label_15.setText(multi_text) def colorDialog_getColor(self):
color = QColorDialog.getColor(Qt.blue,self,"选择颜色!")
if color:
self.label_21.setText(color.name())
self.label_21.setPalette(QPalette(color))
self.label_21.setAutoFillBackground(True) def fontDialog_getFont(self):
font,ok = QFontDialog.getFont()
if ok:
self.label_22.setText(font.key())
self.label_22.setFont(font) if __name__ == "__main__":
app = QApplication(sys.argv)
ui = Demo()
ui.show()
sys.exit(app.exec_())

有部分函数未完成

【PyQt5-Qt Designer】Qt 的标准对话框总结的更多相关文章

  1. C/C++ -- Gui编程 -- Qt库的使用 -- 标准对话框

    -----mywidget.cpp----- #include "mywidget.h" #include "ui_mywidget.h" #include & ...

  2. PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程

    摘要:Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合.这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的 ...

  3. 如何修改Qt标准对话框的文字(例如,英文改成中文)

    此篇文章参考qtcn论坛整理而成,因为文字和图片是本人亲自组织,所以仍算原创. http://www.qtcn.org/bbs/read-htm-tid-30650.html http://blog. ...

  4. pyqt5 在qt designer后以弹窗的方式连接多个UI图形界面

    当我们通过pyqt开发时,eric6为我们提供了一个方便的工具:图形化的绘制UI工具--qt designer. 我们可以通过它开发多个UI,然后利用信号-槽工具,将功能代码附着在上面.也可以将多个界 ...

  5. Qt中的标准对话框之QMessageBox

    1. Qt标准对话框 Qt为开发者提供了一些可复用的对话框类型 Qt提供的可复用对话框全部继承自QDialog类 Qt中的对话框的使用方式和QDialog完全一致 2. 标准对话框的使用步骤 ①定义对 ...

  6. PyQt5(1)——Qt Designer初探

    相关环境配置我们就不介绍了(网上有很多教程) Qt Designer 是一款十分强大的GUI工具,生成的文件为 .UI文件  可以通过命令转化为Py文件,简单来说我们可以通过拖拽方式生成界面,在通过简 ...

  7. Qt 学习之路 2(15):标准对话框 QMessageBox

    Qt 学习之路 2(15):标准对话框 QMessageBox  豆子  2012年9月18日  Qt 学习之路 2  40条评论 所谓标准对话框,是 Qt 内置的一系列对话框,用于简化开发.事实上, ...

  8. QT+ 使用标准对话框+关于对话框+问题对话框+文件对话框

    #include "mainwindow.h" #include <QMenuBar> #include <QMenu> #include <QAct ...

  9. Win10安装PyQt5与Qt Designer【转】

    https://blog.csdn.net/u011342224/article/details/78879633 1.直接在cmd中通过pip安装PyQt5 1 pip install pyqt5 ...

  10. Win10安装PyQt5与Qt Designer

    1.直接在cmd中通过pip安装PyQt5 1 pip install pyqt5 会自动下载PyQt5以及sip并安装,因为PyQt5不再提供Qt Designer等工具,所以需要再安装pyqt5- ...

随机推荐

  1. C++ 成员函数赋值给C 的函数指针的采坑录

    最近做一个banana Pi M1+的硬解码器封装成类的时候,由于是依赖ffmpeg的,而ffmpeg是C 实现的,本来demo 都是直接用C写的,测试也没有问题,想着封装也不会有问题,至少自己对C+ ...

  2. Android——Android和SVN::::SVN+delete项目

    SVN使用笔记(比较详细) http://www.cnblogs.com/merray/p/4182380.html 删除项目 http://jingyan.baidu.com/article/c74 ...

  3. MySQL 5.7的安装及主从复制(主从同步)

    1.master上开启binlog日志,配置如下 一般mysql配置文件在目录/etc下,叫my.cnf (如果找不到的话也有可能在这些目录下:/etc/my.cnf,/etc/mysql/my.cn ...

  4. Cisco VLAN ACL配置

    什么是ACL? ACL全称访问控制列表(Access Control List),主要通过配置一组规则进行过滤路由器或交换机接口进出的数据包, 是控制访问的一种网络技术手段, ACL适用于所有的被路由 ...

  5. @ResponseBody的作用

    由于之前一直用struts2,对springMvc的注解并不太了解.新公司的项目用的是springMvc+hibernate,看到了@ResponseBody注解 @ResponseBody作用类似于 ...

  6. cordova(安卓)(腾讯信鸽注册绑定与反绑定) 插件开发

    腾讯信鸽快速开发指南 http://developer.xg.qq.com/index.php/Android_SDK%E5%BF%AB%E9%80%9F%E6%8C%87%E5%8D%97 本文参考 ...

  7. linux下git怎么保存账号密码

    我是用 shell 命令来执行 git 操作的,所以就决定在 --global 配置一下用户名和密码,不用每次手动输入了. 设置步骤 1. 首先需要 ftp 连接到你的 Linux 服务器,在根目录( ...

  8. mongodb三种存储引擎高并发更新性能专题测试

    背景说明 近期北京理财频道反馈用来存放股市实时数据的MongoDB数据库写响应请求很慢,难以跟上业务写入速度水平.我们分析了线上现场的情况,发现去年升级到SSD磁盘后,数据持久化的磁盘IO开销已经不是 ...

  9. ABP之事件总线(4)

    在上一篇的随笔中,我们已经初步完成了EventBus,但是EventBus中还有诸多的问题存在,那么到底有什么问题呢,接下来我们需要看一看ABP中的源码是如何定义EventBus的. 1.第一个点 在 ...

  10. select2 javascript控件 如何设置指定的值

    $("#id").select2("data") 这样的方法无效 要使用$("#selectNull").val("") ...