c/c++语言开发共享pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog

QDialog


框QDialog

方法 描述
setWindowTitle() 设置对话框标题
setWindowModality() 设置窗口模态,取值如下:Qt.NonModal:非模态,可以和程序的其他窗口进行交互;Qt.WindowModal:窗口模态,程序在未处理玩当前对话框时,将阻止和对话框的父窗口进行交互;Qt.ApplicationModal:应用程序模态,阻止和任何其他窗口进行交互
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *  class DialogDemo(QMainWindow):      def __init__(self, parent=None):         super(DialogDemo, self).__init__(parent)         self.setWindowTitle("Dialog 例子")         self.resize(350, 300)          self.btn = QPushButton(self)         self.btn.setText("弹出对话框")         self.btn.move(50, 50)         self.btn.clicked.connect(self.showdialog)      def showdialog(self):         dialog = QDialog()         btn = QPushButton("ok", dialog)         btn.move(50, 50)         dialog.setWindowTitle("Dialog")         dialog.setWindowModality(Qt.ApplicationModal)         dialog.exec_() if __name__ == '__main__':     app = QApplication(sys.argv)     demo = DialogDemo()     demo.show()     sys.exit(app.exec_()) 

pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog

弹出信息框QMessageBox

QMessageBox.information 信息框
QMessageBox.question 问答框
QMessageBox.warning 警告
QMessageBox.ctitical危险
QMessageBox.about 关于

#消息框
#self 当前窗口的父窗口
#消息:信息
QMessageBox.information(self,“消息框标题”,“这是一条消息。”,QMessageBox.Yes | QMessageBox.No)
#消息:问答
QMessageBox.question(self,“消息框标题”,“这是一条问答。”,QMessageBox.Yes | QMessageBox.No)
#消息:警告warning
QMessageBox.warning(self,“消息框标题”,“这是一条警告。”,QMessageBox.Yes | QMessageBox.No)
#消息:危险ctitical
QMessageBox.ctitical(self,“消息框标题”,“这是一条危险。”,QMessageBox.Yes | QMessageBox.No)
#消息:关于
QMessageBox.about(self,“消息框标题”,“这是关于对话框的说明”,QMessageBox.Yes | QMessageBox.No)

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *   class WinForm(QWidget):     def __init__(self):         super(WinForm, self).__init__()         self.setWindowTitle("QMessageBox 例子")         self.resize(300, 100)         self.myButton = QPushButton(self)         self.myButton.setText("点击弹出消息框")         self.myButton.clicked.connect(self.msg)      def msg(self):         # 使用infomation信息框         reply = QMessageBox.information(self, "标题", "对话框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)#最后一个yes表示默认选yes。         print(reply)  if __name__ == '__main__':     app = QApplication(sys.argv)     demo = WinForm()     demo.show()     sys.exit(app.exec_()) 

pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog

输入框QInputDialog

QInputDialog控件是一个标准对话框,有一个文本框和两个按钮(ok和cancel)组成,当用户单击ok或enter键后,在父窗口可以收集通过QInputDialog控件输入的信息,QInputDialog控件是QDialog标准对话框的一部分
在QInpuTDialog控件中可以输入数字,字符串或列表中的选项,标签用于提示必要的信息

方法 描述
getint() 从控件中获得标准整数输入
getDouble() 从控件中获得标准浮点数输入
getText() 从控件中获得标准字符串的输入
getItem() 从控件中获得列表里的选项输入
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *  class InputdialogDemo(QWidget):     def __init__(self, parent=None):         super(InputdialogDemo, self).__init__(parent)         layout = QFormLayout()         self.btn1 = QPushButton("获得列表里的选项")         self.btn1.clicked.connect(self.getItem)         self.le1 = QLineEdit()         layout.addRow(self.btn1, self.le1)          self.btn2 = QPushButton("获得字符串")         self.btn2.clicked.connect(self.getIext)         self.le2 = QLineEdit()         layout.addRow(self.btn2, self.le2)          self.btn3 = QPushButton("获得整数")         self.btn3.clicked.connect(self.getInt)         self.le3 = QLineEdit()         layout.addRow(self.btn3, self.le3)         self.setLayout(layout)         self.setWindowTitle("Input Dialog 例子")      def getItem(self):         items = ("C", "C++", "Java", "Python")         item, ok = QInputDialog.getItem(self, "select input dialog",                                         "语言列表", items, 0, False)         if ok and item:             self.le1.setText(item)      def getIext(self):         text, ok = QInputDialog.getText(self, 'Text Input Dialog', '输入姓名:')         if ok:             self.le2.setText(str(text))      def getInt(self):         num, ok = QInputDialog.getInt(self, "integer input dualog", "输入数字")         if ok:             self.le3.setText(str(num))  if __name__ == '__main__':     app = QApplication(sys.argv)     demo = InputdialogDemo()     demo.show()     sys.exit(app.exec_()) 

QInputDialog.getText(self, ‘窗口名’, ‘提升信息:’)
初始界面
pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog
点击左边按钮,弹出对话框界面
pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog
pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog
pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog
在对话框里输入内容,点击OK,就会显示在页面上。
pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog

字体框QFontDialog

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *   class FontDialogDemo(QWidget):     def __init__(self, parent=None):         super(FontDialogDemo, self).__init__(parent)         layout = QVBoxLayout()         self.fontButton = QPushButton("choose font")         self.fontButton.clicked.connect(self.getFont)         layout.addWidget(self.fontButton)         self.fontLineEdit = QLabel("Hello,测试字体例子")         layout.addWidget(self.fontLineEdit)         self.setLayout(layout)         self.setWindowTitle("Font Dialog 例子")      def getFont(self):         font, ok = QFontDialog.getFont()         if ok:             self.fontLineEdit.setFont(font) if __name__ == '__main__':     app = QApplication(sys.argv)     demo = FontDialogDemo()     demo.show()     sys.exit(app.exec_()) 

pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog

文件框QFileDialog

选取文件夹 QFileDialog.getExistingDirectory()
选择文件 QFileDialog.getOpenFileName()
选择多个文件 QFileDialog.getOpenFileNames()
选择保存文件 QFileDialog.getSaveFileName()

方法 描述
getOpenFileName() 返回用户所选择文件的名称,并打开该文件
getSaveFileName() 使用用户选择的文件名保存文件
setFileMode() 可以选择的文件类型,枚举常量是:
QFileDialog.AnyFile:任何文件
QFileDialog.ExistingFile:已存在的文件
QFileDialog.Directory:文件目录
QFileDialog.ExistingFiles:已经存在的多个文件
setFilter() 设置过滤器,只显示过滤器允许的文件类型
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *  class filedialogdemo(QWidget):     def __init__(self, parent=None):         super(filedialogdemo, self).__init__(parent)         layout = QVBoxLayout()         self.btn = QPushButton("加载图片")         self.btn.clicked.connect(self.getfile)         layout.addWidget(self.btn)         self.le = QLabel("")         layout.addWidget(self.le)         self.btn1 = QPushButton("加载文c/c++开发分享pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog件")         self.btn1.clicked.connect(self.getfiles)         layout.addWidget(self.btn1)         self.contents = QTextEdit()         layout.addWidget(self.contents)         self.setLayout(layout)         self.setWindowTitle("File Dialog 例子")      def getfile(self):         fname, _ = QFileDialog.getOpenFileName(self, 'Open file', 'c:\', "Image files (*.jpg *.gif)")         self.le.setPixmap(QPixmap(fname))      def getfiles(self):         dlg = QFileDialog()         dlg.setFileMode(QFileDialog.AnyFile)         dlg.setFilter(QDir.Files)          if dlg.exec_():             filenames = dlg.selectedFiles()             f = open(filenames[0], 'r')              with f:                 data = f.read()                 self.contents.setText(data) if __name__ == '__main__':     app = QApplication(sys.argv)     ex = filedialogdemo()     ex.show()     sys.exit(app.exec_())  

fname, _ = QFileDialog.getOpenFileName(self, ‘Open file’, ‘c:’, “Image files (*.jpg .gif)”)
fname:文件名
_:打开的文件类型
‘Open file’:打开窗口名,可以不写。设为””
‘c:’:初始打开文件夹路径
Image files (
.jpg *.gif)”:文件过滤,

All Files(*)  所有类型文件。 imgName, imgType = QFileDialog.getOpenFileName(self, "打开图片", "", "*.jpg;;*.png;;All Files(*)") 

pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog

电气工程的计算机萌新,写博文不容易。如果你觉得c/c++开发分享pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog对你有用,请点个赞支持下。谢谢。

pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog

c/c++开发分享pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog地址:https://blog.csdn.net/kobeyu652453/article/details/107462896

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/598589.html

(0)
上一篇 2021年5月8日
下一篇 2021年5月8日

精彩推荐