PyQt基础_011_对话框类控件QMessage

基本功能

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, "title", "hello world", QMessageBox.Yes | QMessageBox.No , QMessageBox.Yes ) print( reply )if __name__ == '__main__':app= QApplication(sys.argv) demo = WinForm() demo.show() sys.exit(app.exec_())

增加图标显示

import sysfrom PyQt5.Qt import *"""
QMessageBox.Icon
QMessageBox.NoIcon
QMessageBox.Question
QMessageBox.Information
QMessageBox.Warning
QMessageBox.Critical
"""class Window(QWidget):def __init__(self):super().__init__()self.setWindowTitle("QMessageBox")self.resize(500, 500)self.move(400, 250)self.setup_ui()def setup_ui(self):mb = QMessageBox(self)# mb = QMessageBox(QMessageBox.Critical, '窗口标题', '主标题', QMessageBox.Ok | QMessageBox.Discard, self)# mb.setModal(False)  # 强行设置为非模态# mb.setWindowModality(Qt.NonModal)  # 强行设置为非模态# mb.show()  # 一定为模态,即使使用show()方法也仍为模态mb.setWindowTitle("message")# 设置图标# mb.setIcon(QMessageBox.Information)  # 设置标准图标mb.setIconPixmap(QPixmap("./resource/python_96px.ico").scaled(40, 40)) # 设置自定义图标# 设置主标题mb.setText("<h3>hello world</h3>") # 设置主标题# mb.setTextFormat(Qt.PlainText)  # 设置主标题文本格式# mb.setTextFormat(Qt.RichText)mb.setTextFormat(Qt.AutoText)# 设置提示文本(副标题)mb.setInformativeText("tips") # 设置副标题# print(mb.informativeText())# 设置详细文本mb.setDetailedText("this is a message") # 设置详情(不支持富文本)# print(mb.detailedText())# 设置复选框mb.setCheckBox(QCheckBox("下次不再提醒", mb)) # 设置复选框mb.checkBox().toggled.connect(lambda: print("clicked"))mb.open()if __name__ == "__main__":app = QApplication(sys.argv)window = Window()window.show()sys.exit(app.exec_())

按钮事件

import sysfrom PyQt5.Qt import *class Window(QWidget):def __init__(self):super().__init__()self.setWindowTitle("QMessageBox-按钮操作")self.resize(500, 500)self.move(400, 250)self.setup_ui()def setup_ui(self):mb = QMessageBox(self)mb.setWindowTitle("message")# 添加移除按钮# mb.addButton(QPushButton("Yes!Yes!Yes!", mb), QMessageBox.YesRole)yes_btn = mb.addButton("Yes", QMessageBox.YesRole)# mb.removeButton(yes_btn)  # 移除按钮# 设置标准按钮mb.setStandardButtons(QMessageBox.Apply | QMessageBox.No)# 默认按钮(默认哪个按钮获取到焦点)mb.setDefaultButton(QMessageBox.Apply)# 退出按钮(按下键盘Esc键时激活的按钮)mb.setEscapeButton(QMessageBox.No)# 按钮信号槽apply_btn = mb.button(QMessageBox.Apply) # 获取按钮对象def test(btn):if btn == yes_btn:print("yes clicked")elif btn == apply_btn:print("apply clicked")role = mb.buttonRole(btn)if role == QMessageBox.YesRole:print("yes clicked")elif role == QMessageBox.NoRole:print("no clicked")mb.buttonClicked.connect(test)mb.open()if __name__ == "__main__":app = QApplication(sys.argv)window = Window()window.show()sys.exit(app.exec_())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/188742.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EG20网口远程下载程序使用案例

EG20网口远程下载程序使用案例 前言&#xff1a;本文档主要说明了使用蓝蜂虚拟网络工具通过EG20网关的网口&#xff08;LAN口&#xff09;远程给PLC下载程序的步骤及其注意事项。使用蓝蜂虚拟网络工具&#xff0c;不仅支持程序的远程下载&#xff0c;同样支持程序的远程上传与…

【Node.js后端架构:MVC模式】基于expres讲解

Node.js后端架构&#xff1a;MVC模式 什么是MVC MVC (Model-View-Controller) 是一种软件设计模式&#xff0c;用于将应用程序的逻辑分离成三个不同的组件&#xff1a;模型、视图和控制器。 模型&#xff08;Model&#xff09;负责处理应用程序的数据逻辑。它负责从数据库或其…

JS事件循环详解

前言 进程 程序运行需要其专属的内存空间&#xff0c;可以把这块内存空间简单理解为进程。 下图每个颜色块都可视为一个应用&#xff0c;每个应用至少应有一个进程&#xff0c;进程之间相互独立&#xff0c;即使想要通信&#xff0c;也需要双方同意。 线程 有了进程后&…

二次元检测设备导轨修复指南

二次元检测设备是一种高精度的测量仪器&#xff0c;用于检测物体表面的形状、尺寸和精度等。直线导轨是二次元检测设备中最重要的组成部分之一&#xff0c;它的精度和稳定性直接影响到设备的测量结果和可靠性&#xff0c;因此&#xff0c;对导轨进行修复和保养是非常重要的。 直…

Linux删除了大文件为什么磁盘空间没有释放?

某天&#xff0c;收到监控系统的告警信息&#xff0c;说磁盘空间占用过高&#xff0c;登上服务器&#xff0c;使用 df -h 一看&#xff0c;发现磁盘占用率已经 96%了&#xff1a; 通过查看 /usr/local/nginx/conf/vhost/xxx.conf 找到 access_log 和 error_log 的路径&#x…

SDX12 上层应用gdb调试及环境搭建

SDX12 上层应用gdb调试及环境搭建 1. 问题背景2 环境搭建3 操作步骤4. 调试过程5 实现效果6 附录 1. 问题背景 上层应用在问题定位的过程中&#xff0c;现有手段只能有有限的log打印&#xff0c;通常情况下很难定位问题。如果想在应用程序执行的过程中查看任意调用关系或者数据…

6.1810: Operating System Engineering <Lab2 syscall: System calls>

课程链接&#xff1a;6.1810 / Fall 2023 一、本节任务 二、要点 操作系统要满足三要素&#xff1a;并发、隔离、交互&#xff08;multiplexing, isolation, and interaction&#xff09;。 宏内核&#xff08;monolithic kernel&#xff09;&#xff1a;是操作系统核心架构…

temu上新待确认在哪里点

在Temu平台上&#xff0c;作为卖家&#xff0c;您可能需要上架新的商品以吸引更多的买家。下面是一般的步骤&#xff0c;但请注意&#xff0c;不同平台的操作可能略有不同&#xff0c;具体请参考Temu官方的帮助文档或联系客服。 先给大家推荐一款拼多多/temu运营工具——多多情…

pathlib --- 面向对象的文件系统路径

目录 基础使用 纯路径 通用性质 运算符 访问个别部分 方法和特征属性 具体路径 方法 对应的 os 模块的工具 3.4 新版功能. 源代码 Lib/pathlib.py 该模块提供表示文件系统路径的类&#xff0c;其语义适用于不同的操作系统。路径类被分为提供纯计算操作而没有 I/O 的 …

k8s部署jenkins

1.先决条件 1.因为国内的容器镜像加速器无法实时更新docker hub上的镜像资源.所以可以自己进行jenkins的容器镜像创建,. 2.这里用到了storageClass k8s的动态制备.详情参考: k8s-StoargClass的使用-基于nfs-CSDN博客 3.安装docker服务.(用于构建docker image) 2.构建jenki…

Mac右键添加通过VSCode打开

Mac右键添加通过VSCode打开 1 首先打开自动操作 进入方式 访达 – 应用程序 – 自动操作 2. 选择快速操作 3. 添加 最后 commands保存&#xff0c;可以输入自定义的名称 for f in "$" doopen -a "Visual Studio Code" "$f" done4. 找到保存的快…

KaiwuDB 多模数据库-时序性能优化

随着物联网领域的快速发展&#xff0c;时序数据的产生和处理需求不断增长。为了满足实时性、高效性和准确性的要求&#xff0c;数据库需要进行时序性能优化&#xff0c;以提供快速的数据写入、实时查询和高效的数据存储与处理能力。 本期直播介绍了时序数据和时序数据库特征以…

树莓派3B+ PCB叠层设计

板子废了&#xff0c;用电磨切了下&#xff0c;看看是什么叠层。 由于有BCM43455 WIFI芯片&#xff0c;这个是0.3ball 0.4pitch&#xff0c;肯定是要用盲孔布线的。 然后根据这个切面看&#xff0c;板子是6层的&#xff0c;外层内层铜厚应该是一样的 1-2层介质特别薄竟然<1o…

c语言练习13周(1~5)

输入任意整数n求以下公式和的平方根。 读取一系列的整数 X&#xff0c;对于每个 X&#xff0c;输出一个 1,2,…,X 的序列。 编写double fun(int a[M][M])函数&#xff0c;返回二维数组周边元素的平均值&#xff0c;M为定义好的符号常量。 编写double fun(int a[M])函…

小米智能摄像头mp4多碎片手工恢复案例

小米智能摄像头mp4多碎片手工恢复案例 智能摄像头目前在市场上极为常见&#xff0c;仅需要一张存储卡即可实现视频、音频的采集&#xff0c;同时可以通过手机APP进行远程控制&#xff0c;相比传统安防品牌成本更低、更容易部署。在智能摄像头品牌中小米算是绝对的大厂&#xf…

折扣因子的变化图(Python)

var 3 var_list [3] for _ in range(50):var * .95var_list.append(var)import matplotlib.pyplot as plt import numpy as np plt.plot(np.arange(len(var_list)), var_list, linewidth1) plt.show()

Mysql的分库分表

一、单Mysql节点 假如一主一从 为什么不能无限读&#xff1f; 瓶颈分析&#xff1a; 资源限制&#xff1a; 如CPU、内存、磁盘I/O、网络带宽等。随着读请求的增加&#xff0c;服务器的负载将会增加&#xff0c;甚至可能导致系统崩溃。 连接数限制&#xff1a; MySQL有最大连…

uniapp 使用web-view外接三方

来源 前阵子有个需求是需要在原有的项目上加入一个电子签名的功能&#xff0c;为了兼容性和复用性后面解决方法是将这个电子签名写在一个新的项目中&#xff0c;然后原有的项目使用web-view接入这个电子签名项目&#xff1b; 最近又有一个需求&#xff0c;是需要接入第三方的…

【前端】浅谈async/await异步传染性

文章目录 概述观点无法解决可以解决 来源 概述 "异步传染性"问题通常是指&#xff0c;当一个函数使用了async和await&#xff0c;其调用者也需要使用async和await处理异步操作&#xff0c;导致整个调用链都变成异步的。这种情况可能导致代码变得更复杂&#xff0c;不…

WSL2 docker GUI 界面

在 WSL2 docker 中运行GUI界面。 具体流程和远程显示Ubuntu界面类似&#xff0c;链接, 更简单一点&#xff0c; 少了 ssh 的部分。 安装好wsl2 和 docker wsl2 运行GUI程序&#xff0c;windows 会默认弹出窗口。 可以安装 gedit 测试一下 windows 下载并运行 Xlaunch. 运行 d…