框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_())

弹出信息框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_())

输入框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, ‘窗口名’, ‘提升信息:’)
初始界面

点击左边按钮,弹出对话框界面



在对话框里输入内容,点击OK,就会显示在页面上。

字体框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_())

文件框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("加载文本文件")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相关推荐

  1. pyqt5 输入确认_对PyQt5的输入对话框使用(QInputDialog)详解

    PyQt5中QInputDialog的使用,Qt的QInputDialog类提供了一种简单方面的对话框来获得用户的单个输入信息,它提供了4种数据类型的输入: 1)字符串型(方法=QInputDialo ...

  2. pyqt5讲解13:图形与特效,设置窗口大小

    一.窗口的风格 可以为每个QWidget都设置风格 setStyle(QStyle style) 获取当前平台支持的原有的QStyle样式 QstyleFactory.keys() 对QApplica ...

  3. pyqt5讲解2:QPushButton,QRadioButton,QCheckBox

    按钮QPushButton 常用方法 描述 setCheckable() 设置按钮是否已经被选中,如果设置True,则表示按钮将保持已点击和释放状态 toggle() 在按钮状态之间进行切换 setI ...

  4. pyqt5讲解1:窗口,QLabel,QLineEdit,QTextEdit

    过年的时候学习啦pyqt,不怎么用,都快忘记知识点啦. 开始写下吧,好记性不如烂笔头. 窗口类控件 QMainWindow 详细描述 QMainWindow类提供一个有菜单条.锚接窗口(例如工具条)和 ...

  5. pyqt5讲解12:自定义参数 (给信号传入参数)

    在pyqt编程过程中,经常会遇到给槽函数传递自定义参数的情况,比如有一个信号与槽函数的连接是 button1.clicked.connect(shou_page) 对于clicked 信号来说,是没有 ...

  6. python界面交互PyQt5–消息框(QMessageBox)

    1.常用函数 函数原型: # 信息框 QMessageBox.information(self, '框名', '内容', 按钮s, 默认按钮) # 问答框 QMessageBox.question(s ...

  7. pyqt5讲解10:布局管理讲解大全

    一.绝对布局 使用move(x,y)的方法. 绝对布局: 如果改变屏膜的大小,控件的位置不会发生变化, 不同 屏膜显示有区别 # -*- coding: utf-8 -*-'''[简介]PyQT5中A ...

  8. pyqt5讲解9:时间模块timer和网页交互

    time 如果要在应用程序中周期性地进行某项操作,则需要用到QTimer定时器,QTimer类提供了重复的和单次的定时器.要使用定时器,需要先创建一个QTimer实例,将其timeout信号连接到相应 ...

  9. pyqt5讲解8:容器QTabWidget,QStackedWidget,QDockWidget

    QTabWidget 常用方法 方法 描述 addTab() 将一个控件添加到Tab控件的选项卡中 insertTab() 将一个Tab控件的选项卡插入到指定的位置 removeTab() 根据指定的 ...

最新文章

  1. 笔记-高项案例题-2019年下-质量管理-帕累托分析
  2. Asp.Net Ajax的两种基本开发模式
  3. 【jQuery】总结:筛选器、控制隐藏、操作元素style属性
  4. des算法明文IP置换C语言编程,求助攻:C语言DES算法的实现程序有问题
  5. VS Code 快捷键使用小技巧
  6. 极客青年说,北京沙龙
  7. 玩转oracle 11g(35):rman备份-参数文件spfile损坏恢复
  8. [转]js实现简单的双向数据绑定
  9. NOIP2003普及组第1题 乒乓球(Table.cpp)-- python3实现
  10. 刷题-字符串-Java
  11. asp.net模板控件示例
  12. 实现对接顺丰业务的订单管理系统
  13. Jmeter录制脚本介绍
  14. VBlog项目代码理解之前端
  15. dota英雄装备攻略,最全的英雄出装攻略介绍
  16. 元音I、i 、ε、æ、a小总结
  17. 服务器硬盘如何把硬盘装换到gpt格式化,装GPT硬盘系统的格式转换与diskpart命令使用方法...
  18. Linux文件系统管理——创建与检测
  19. vivo冯宇飞:iQOO不请代言人 品牌更亲近互联网用户
  20. 北大青鸟的班主任好当吗_【北大青鸟班主任就业前景怎么样|做北大青鸟班主任有前途吗】-看准网...

热门文章

  1. 【算法系列之线索化二叉树,前序线索化、中序线索化、后序线索化以及遍历~】
  2. 《移动项目实践》实验报告——Android组合控件
  3. linux 加载 iso,Linux iso文件加载和解包的用法
  4. 七种垃圾收集器和垃圾回收、分代收集、GCROOTS相关概念、GC如何判断一个对象可以被回收
  5. 【学习笔记】java基础核心总结
  6. 【笔记】numpy使用详解 matplotlib绘图
  7. 【python笔记】python模块 datatime模块
  8. idea(一)使用详解
  9. PHP学习(php概念、基本语法、流程控制)
  10. 将二叉树的叶子结点转换成单链表,并返回最左叶子结点的地址(链头)