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. hive表增量抽取到mysql(关系数据库)的通用程序(三)

    hive表增量抽取到oracle数据库的通用程序(一) hive表增量抽取到oracle数据库的通用程序(二) 这几天又用到了该功能了,所以又改进了一版,增加了全量抽取和批量抽取两个参数.并且可以设置 ...

  2. vs2013 error LNK2005 已经在***.obj中定义

    错误解决办法: 方法一: 中文 项目--属性 ---连接器---输入                               附加依赖项    空格Nafxcwd.lib Libcmtd.lib ...

  3. 使用Qt Creator进行linux远程调试

    序言 考虑到程序员在无桌面Linux的环境下编写C/C++程序,如果使用原生的Vim编辑和单步断点调试比较麻烦,不利于新手使用,所以笔者尝试使用Qt实现两台Linux电脑远程部署和调试.即程序员在调试 ...

  4. SpringBoot 拦截器(Interceptor)的使用

    拦截器intercprot  和 过滤器 Filter 其实作用类似 在最开始接触java 使用struts2的时候,里面都是filter 后来springmvc时就用interceptor 没太在意 ...

  5. 看看大网站都用什么操作系统和Web服务器

    以下内容为网络上转载总结,不是很准确 Google 用哪些软件做 Web Server? 除了有两个节点操作系统看出来是 Linux 外,其他的都是未知的. Web 服务器用的都是 GWS ? 我估计 ...

  6. error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2

    使用VS2013版本引用外部的lib进行编译时候提示: 错误 25 error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项:  值“0”不匹配值“2”(jrtpl ...

  7. Android打印当前所有线程及对应栈信息

    Map<Thread, StackTraceElement[]> threadMap = Thread.getAllStackTraces(); Log.e("albertThr ...

  8. 【python】并查集

    转自:http://blog.csdn.net/rav009/article/details/12781899 # -*- coding: UTF-8 -*- class unionfind: def ...

  9. Power BI 报表服务器发布

    Power BI 报表服务器让你的用户能够访问数据.获取见解,并能够使用 SQL 报表服务器服务的企业报告功能 - 这一切都在现代本地解决方案中完成.让用户能够直观浏览数据并快速发现模式,以便更快作出 ...

  10. hadoop源码学习(-)

    这是从hadoop源码中间截取的一个片段,你看看你能不能看懂:如果不能看懂,说明你的javase基础很差. private static class GroupFactory extends Coun ...