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. mac 下 使用 java运行 class 文件 总是提示 “错误: 找不到或无法加载主类”的解决方法

    发现问题 切换到mac平台后,突然想写点程序运行在mac下,想到mac自带java,会方便好多.不过在这过程中遇到了麻烦: 总是提示 “错误: 找不到或无法加载主类” 工程结构 查了好久,终于找到原型 ...

  2. debian/deepin 15.3 15.4安装jdk 1.7 (或jdk 7),配置默认环境

    一.前言 Deepin 15.3是基于Debian开发的,安装jdk 1.7有所不同,默认是openjdk-8-jdk,而我们玩一些编译需要的是jdk 7. 所以本文给出安装JDK 7的教程. Dee ...

  3. MyBatis XML转义字符

    当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序 ...

  4. Git服务器环境搭建(打造属于自己的存储库)

    Git服务器搭建之CentOs7-阿里云搭建 首先使用连接工具连接到远程的阿里云服务器CentOs7上. 1.安装Git及创建用户 # 安装Git $ yum install git # 创建一个gi ...

  5. 《objective-c基础教程》学习笔记(四)—— OC面向对象编程初探

    在上篇博文中,我们编写了一个可以输出不同几何类型的小程序.通过C语言的struct结构体,给大家感受了下,对象的大概样子. 如果用Obejctive-C的面向对象的特征来实现.那么,drawShape ...

  6. iPhone 上你可能还不知道的小技巧

    用了这么久的 iPhone,这些技巧你可能都还不知道哦. 1.怎么用耳机切歌? 将耳机的话筒部位的中间(平时暂停用的,按一下)连按两下 即可. 连按两下,下一首. 连按三下,上一首. 2.摇一摇,相当 ...

  7. C#实现二叉树--二叉链表结构

    二叉树的简单介绍 关于二叉树的介绍请看这里 : 二叉树的简单介绍 http://www.cnblogs.com/JiYF/p/7048785.html 二叉链表存储结构: 二叉树的链式存储结构是指,用 ...

  8. python string.py 源码分析 一

    # Some strings for ctype-style character classification c风格字符串 whitespace = ' \t\n\r\v\f' #空白字符 \t 制 ...

  9. Django之Web框架本质及第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  10. J - 哈密顿绕行世界问题

    一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市. Input 前20行的第i行有3个数,表示与第i个城市相邻的3个城市.第20行 ...