【PyQt5-Qt Designer】Qt 的标准对话框总结
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 的标准对话框总结的更多相关文章
- C/C++ -- Gui编程 -- Qt库的使用 -- 标准对话框
-----mywidget.cpp----- #include "mywidget.h" #include "ui_mywidget.h" #include & ...
- PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程
摘要:Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合.这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的 ...
- 如何修改Qt标准对话框的文字(例如,英文改成中文)
此篇文章参考qtcn论坛整理而成,因为文字和图片是本人亲自组织,所以仍算原创. http://www.qtcn.org/bbs/read-htm-tid-30650.html http://blog. ...
- pyqt5 在qt designer后以弹窗的方式连接多个UI图形界面
当我们通过pyqt开发时,eric6为我们提供了一个方便的工具:图形化的绘制UI工具--qt designer. 我们可以通过它开发多个UI,然后利用信号-槽工具,将功能代码附着在上面.也可以将多个界 ...
- Qt中的标准对话框之QMessageBox
1. Qt标准对话框 Qt为开发者提供了一些可复用的对话框类型 Qt提供的可复用对话框全部继承自QDialog类 Qt中的对话框的使用方式和QDialog完全一致 2. 标准对话框的使用步骤 ①定义对 ...
- PyQt5(1)——Qt Designer初探
相关环境配置我们就不介绍了(网上有很多教程) Qt Designer 是一款十分强大的GUI工具,生成的文件为 .UI文件 可以通过命令转化为Py文件,简单来说我们可以通过拖拽方式生成界面,在通过简 ...
- Qt 学习之路 2(15):标准对话框 QMessageBox
Qt 学习之路 2(15):标准对话框 QMessageBox 豆子 2012年9月18日 Qt 学习之路 2 40条评论 所谓标准对话框,是 Qt 内置的一系列对话框,用于简化开发.事实上, ...
- QT+ 使用标准对话框+关于对话框+问题对话框+文件对话框
#include "mainwindow.h" #include <QMenuBar> #include <QMenu> #include <QAct ...
- Win10安装PyQt5与Qt Designer【转】
https://blog.csdn.net/u011342224/article/details/78879633 1.直接在cmd中通过pip安装PyQt5 1 pip install pyqt5 ...
- Win10安装PyQt5与Qt Designer
1.直接在cmd中通过pip安装PyQt5 1 pip install pyqt5 会自动下载PyQt5以及sip并安装,因为PyQt5不再提供Qt Designer等工具,所以需要再安装pyqt5- ...
随机推荐
- .net core读取json格式的配置文件
在.Net Framework中,配置文件一般采用的是XML格式的,.NET Framework提供了专门的ConfigurationManager来读取配置文件的内容,.net core中推荐使用j ...
- 简单网络搭建与测试 mininet
简介 本实验是基于pox搭建简单的网络并测试网络的连通性,利用mininet代码创建一个交换机四个主机的拓扑,测试各主机之间的连通性以及h1.h4之间的带宽. 代码 实验代码如下所示,SingleSw ...
- 第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明
第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明 设置后台列表页面可以直接修改字段内容 在当前APP里的adminx.py文件里的 ...
- expect脚本同步文件 expect脚本指定host和要同步的文件 构建文件分发系统 批量远程执行命令
自动同步文件 #!/usr/bin/expect set " spawn rsync -av root@.txt /tmp/ expect { "yes/no" { se ...
- mybatis 传入多个参数
一.单个参数: public List<XXBean> getXXBeanList(@param("id")String id); <select id=&quo ...
- Markdown 代码
我们使用三个反引号来标记代码,语法及效果如下: ```python #!/usr/bin/env python #-*- coding:utf- -*- print("Hello World ...
- js中的hasOwnProperty
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- iOS - 让WKWebView 支持 NSURLProtocol
iOS8以后,苹果推出了新框架Webkit,提供了替换UIWebView的组件WKWebView.各种UIWebView的问题没有了,速度更快了,占用内存少了,一句话,WKWebView是App内部加 ...
- DrawerLayout 设置为滑动范围全盘
public void setDrawerLeftEdgeSize(DrawerLayout drawerLayout, float displayWidthPercentage) { if (dra ...
- Ubuntu下U盘变成只读的解决方法
首先执行命令: tail -f /var/log/syslog 然后插入有问题的U盘,tail会打印一些log: Jan :: zkw- kernel: [-: new high-speed USB ...
