提供了文本或图像的显示
但是没有提供用户交互功能,继承自QFrame
#!/usr/bin/env python# -*- coding: UTF-8 -*-# @author: kunfrom PyQt5.Qt import *import sysapp = QApplication(sys.argv)w = QWidget()w.resize(500, 500)l = QLabel("标签哦", w) # 创建一个标签"""l.adjustSize() # 根据内容适应标签大小l.setStyleSheet("background-color: skyblue;")对齐l.setAlignment(Qt.AlignLeft | Qt.AlignVCenter)缩进和边距l.setIndent(20)l.setMargin(20)文本格式l.setTextFormat(Qt.TextFormat) # PlainText/ RichText/ AutoText/ MarkdownText小伙伴l.setBuddy(QWidget) # 参数是要关联的输入框,当点击快捷键是可以快速定位到相应的文本框上面内容缩放l.setScaledContents(True) # 设置图片内容的缩放,适应控件大小,仅限于图片打开文本链接l.setOpenExternalLinks(True) # 使得可以打开超链接单词换行l.setWordWrap(True) # 设置单词换行,同时也可以使用 \n 换行"""w.show()sys.exit(app.exec_())# 设置交互模式setTextInteractionFlags(Qt.TextInteractionFlags)textInteractionFlags()# 选中文本setSelection(int start, int length)hasSelection()selectedText()selectionStart() # 返回开始位置的索引
Qt.TextInteractionFlags:
Qt.NoTextInteraction:不可能进行交互Qt.TextSelectableByMouse:可以使用鼠标选择文本并使用上下文菜单或标准键盘快捷键将其复制到剪切板Qt.TextSelectionByKeyboard:可以使用键盘上的光标键选择文本,显示文本光标Qt.LinksAccessibleByMouse:可以使用鼠标突出显示和激活链接Qt.LinksAccessibleByKeyborad:可以使用选项卡聚焦链接并使用enter激活Qt.TextEditable:改文字完全可以编辑Qt.TextEditiorInteraction:文本编辑器的默认值;TextSelectableByMouse | TextSelectionByKeyboard | TextEditableQt.TextBrowserInteraction:文本浏览器的默认值;TextSelectableByMouse | TextSelectionByKeyboard | LinksAccessibleByMouse | LinksAccessibleByKeyborad
text()setText(QString) # 里面可以添加富文本setNum(int / float) # 设置数值setPicture(QPicture) # 主要用于绘画设备 setPixmap(QPixmap)setMovie(QMovie) # 注意不是添加视频,而是添加一个动图movie() 此类用于显示没有声音的简单动画
常用操作:
setScaledSize(QSize)setPaused(bool)setSpeed(int) # setSpeed(200) 两倍速播放start() # 开始播放
clear() # 清空所有内容# 超链接有关的信号linkActivated(link_str)linkHovered(link_str)展示LCD样式的数字,它可以展示几乎任何大小的数字;它可以显示十进制、十六进制、八进制或二进制
继承自QFrame
#!/usr/bin/env python# -*- coding: UTF-8 -*-# @author: kunfrom PyQt5.Qt import *import sysapp = QApplication(sys.argv)w = QWidget()w.resize(500, 500)ql = QLCDNumber(w) # 构造函数,还可以传入一个数字,限制要展示的内容的位数ql.resize(100, 50)ql.display("12345") # 设置展示的内容,里面可以传入字符串,浮点数据,整型数据print(ql.value()) # 获取ql里面的值,返回浮点类型数据ql.setDigitCount(5) # 限制5位数字w.show()sys.exit(app.exec_())setMode(QLCDNumber.Mode)mode()# 快速设置方法setHexMode() # 十六进制setDecMode() # 十进制setOctMode() # 八进制setBinMode() # 二进制checkOverflower(float/ int) # 判断数据是否溢出,如果溢出会发送一个溢出信号setSegmentStyle(QLCDNumber.SegmentStyle)segmentStyle()
QLCDNumber.SegmentStyle:
QLCDNumber.Outline:生成填充了背景颜色的凸起部分QLCDNumber.Filled:默认值,生成填充前景色的凸起部分QLCDNumber.Flat:生成填充前景色的平坦段
overflow() # 当数据溢出时,发送信号提供一个水平或垂直进度条;进度条用于向用户提供操作进度提示,并向他们保证应用程序仍在运行
继承自 QWidget
#!/usr/bin/env python# -*- coding: UTF-8 -*-# @author: kunfrom PyQt5.Qt import *import sysapp = QApplication(sys.argv)w = QWidget()w.resize(500, 500)qp = QProgressBar(w) # 创建对象qp.setMaximum(100)qp.setMinimum(0)# qp.setRange(0, 100) # 设置取值范围,最大值和最小值,当最大值和最小值相等时,处于繁忙状态qp.setValue(20) # 设置当前的值# qp.reset() # 重置进度条print(qp.value()) # 获取当前进度条的值# 设置进度条的方向# pq.setOrientation(Qt.Orientation)# 倒立外观# pq.setInvertedAppearance(bool)w.show()sys.exit(app.exec_())setFormat(str) # %p 为百分比;%v 为当前值;%m 为总值# 如 setFormat("已下载%p %")resetFormat() # 重置格式设置setAlignment(Union[Qt.Alignment, Qt.AliginmentFlag]) # 格式化字符对齐方式setTextVisible(bool) # 标签是否可见text() # 获取标签文本内容setTextDirection(QProcessBar.Direction) # 控制文本的排列方向valueChanged(int)错误消息小部件由文本标签和复选框组成;该复选框允许用户控制将来是否再次显示相同的错误消息
继承自QDialog
#!/usr/bin/env python# -*- coding: UTF-8 -*-# @author: kunfrom PyQt5.Qt import *import sysapp = QApplication(sys.argv)w = QWidget()w.resize(500, 500)qb = QErrorMessage(w) # 创建对象qb.setWindowTitle("错误提示") # 修改窗口标题qb.showMessage("你确定要继续操作吗?") # 如果设置多个,会一次一次展示出来qb.exec() # 展示对话框QErrorMessage.qtHandler() # 通过静态方法,展示级别信息,使用此放你发后,后溪所有的返回均会使用对话框显示qDebug("xxx") # 调试信息qWarning("eee") # 警告信息w.show()sys.exit(app.exec_())继承父类
提供一个缓慢的操作进度反馈,进度对话框用于向用户指示操作符花费多长时间,并演示应用程序尚未冻结;它还可以为用户提供中止操作的机会
继承自 QDialog
#!/usr/bin/env python# -*- coding: UTF-8 -*-# @author: kunfrom PyQt5.Qt import *import sysapp = QApplication(sys.argv)w = QWidget()w.resize(500, 500)qpd = QProgressDialog("进度条", "确定", 0, 100, w) # 0 为进度条的最小值# 自动选择qpd.setAutoClose(False) # 设置对话框完成后是否关闭qpd.setAutoReset(False) # 进度条满后是否重置信息# 弹出:最小展示时长——展示之前的等待时间:如果在等待时间内,进度条满了,就不会弹出;否则弹出# qpd.setMinimumDuration(int) # 默认为 4 秒# 或者直接使用 open(func_) 弹出w.show()sys.exit(app.exec_())# 对话框标题setWindowTitle(str)# 标签文本setLabelText(str)# 取消按钮文本setCancelButtonText(str)# 子控件设置setBar(QProgressBar)setCancelButton(QPushButton)setLabel(QLabel)# 最大值和最小值setMinimum(int)setMaximum(int)setRange(int min, int max)# 设置当前的进度setValue(int) # 是否取消cancel() # 取消进度条wasCanceled()canceled()用于通知用户或请求用户的提问和接收应答的一个模态窗口;无论其展示方式是什么,都为模态窗口
对话框的构成:

继承自 QDialog
QMessageBox(parent: QWidget = None)QMessageBox(QMessageBox.Icon, str, str, buttons: Union[QMessageBox.StandardButtons, QMessageBox.StandardButton] = QMessageBox.NoButton, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.Dialog|Qt.MSWindowsFixedSizeDialogHint) # str 可以为富文本# 对话框标题setWindowTitle(str)# 标准图标seticon(QMessageBox.Icon) # 参数请到源码查看# 自定义图标setIconPixmap(QPixmap) # 主要标题setText(str) setTextFormat(Qt.TextFormat) # 设置文本的格式,富文本、普通文本或者自动识别# 提示信息setInformativeText(str)# 详细文本setDetailedText(str)# 复选框setCheckBox(QCheckBox)添加移除按钮
addButton(QabstractButton, QMessageBoxButtonRole)addButton(str, QMessageBox.ButtonRole)addButton(QMessageBox.StandardButton)removeButton(QAbstractButton)设置标准按钮
setStandardButtons(Union[QMessageBox.StandardButtons, QMessageBox.StandardBox.StandardButton])默认按钮
setDefaultButton(QPushButton)setDefaultButton(QMessageBox.StandardButton)退出按钮
setEscapeButton(QAbstractButton)setEscapeButton(QMessageBox.StandardButton)# 按 Esc 时激活按钮获取按钮
buttons()button(QMessageBox.StandardButton)按钮角色
buttonRole(QAbstractButton)被点击的按钮
clickedButton()参数请到源码查看
setTextInteractionFlags(Qt.TextInteractionFlag) textInteractionFlags()相关参数和上文的文本交互类似:【[点我](#3.1.2.2 文本交互)】,其仅仅控制主标题
# 关于表about(QWidget, str, str)# 关于 Qt 的对话框aboutQt(QWidget, title)# 危险按钮critical(QWidget, str, str, buttons: Union[QMessageBox.StandardButtons, QMessageBox.StandardButton] = QMessageBox.Ok, defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) -> QMessageBox.StandardButton# 展示相关信息information(QWidget, str, str, buttons: Union[QMessageBox.StandardButtons, QMessageBox.StandardButton] = QMessageBox.Ok, defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) -> QMessageBox.StandardButton# 询问按钮question(QWidget, str, str, buttons: Union[QMessageBox.StandardButtons, QMessageBox.StandardButton] = QMessageBox.StandardButtons(QMessageBox.Yes|QMessageBox.No), defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) -> QMessageBox.StandardButton# 警告按钮warning(QWidget, str, str, buttons: Union[QMessageBox.StandardButtons, QMessageBox.StandardButton] = QMessageBox.Ok, defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) -> QMessageBox.StandardButton静态方法,快速展出对话框
buttonClicked(QAbstractButton)本文来自博客园,作者:A-L-Kun,转载请注明原文链接:https://www.cnblogs.com/liuzhongkun/p/16105049.html