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. vue.js在visual studio 2017下的安装

    1.打开"工具"菜单->"NuGet 包管理器"->"管理解决方案 Nuget 的程序包": 在红色标识的地方输入vue: 2. ...

  2. Java知多少(6)第一个程序示例

    跟随世界潮流,第一个Java程序输出“Hell World!”. 通过Eclipse运行程序 启动Eclipse,在菜单中选择“文件 --> 新建 --> Java项目”,弹出对话框: 图 ...

  3. Java知多少(89)列表和组合框

    有两种类型的菜单:下拉式菜单和弹出式菜单.本章只讨论下拉式菜单编程方法.菜单与JComboBox和JCheckBox不同,它们在界面中是一直可见的.菜单与JComboBox的相同之处是每次只可选择一个 ...

  4. 正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,如何生成Q中的前几项

    思路分析:可以与归并排序联系起来,给定两个变量A.B,变量A轮着存放:a*1,a*2,a*3,……变量组B轮着存放:b*1,b*2,b*3,……有两个整数i.j,分别代表A.B第i.j次存放的值,每次 ...

  5. ASP.NET MVC 4 (五) 视图

    视图引擎与视图 多数情况下控制器action方法返回ViewResult对象,MVC内建action调用器ControllerActionInvoker负责调用控制器action方法并调用视图引擎处理 ...

  6. easyGUI 用法介绍

    Python 模块EasyGui详细介绍 EasyGui 官网: -http://easygui.sourceforge.net 官方的教学文档: -easygui-docs-0.96\tutoria ...

  7. mac yarn 安装

    通过HomeBrew安装 brew install yarn 升级yarn brew upgrade yarn 查看版本 yarn -v 1.15.2

  8. Unity3D Shader 内置函数

    Intrinsic Functions (DirectX HLSL) The following table lists the intrinsic functions available in HL ...

  9. Oracle数据库入门——体系结构

    1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracle工作原理: 1).在数据库 ...

  10. asp.net利用存储过程分页代码

    -最通用的分页存储过程 -- 获取指定页的数据 CREATE PROCEDURE Pagination ), -- 表名 ) = '*', -- 需要返回的列 )='', -- 排序的字段名 , -- ...