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.hqwc.cn/news/233552.html

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

相关文章

车辆动力学 | 轮胎纵滑和侧滑下的简化模型

1、轮胎模型的定义&#xff1a; ——反应轮胎力学性能&#xff08;所有侧向力、纵向力以及会正力矩等&#xff09;与侧偏角和运动状态&#xff08;滑转率和滑移率&#xff09;关系的数学模型 2、四个组成部分 胎面层、带束层、胎体、轮辋 3、简化模型的假设条件 4、起滑点&am…

import matplotlib.pyplot as pit 报 ImportError: DLL Load failed: 找不到指定的模块。

环境python 3.7&#xff0c;需要安装 numpy1.21.6 | matplotlib 2.2.5 看版本依赖 numpy https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy matplotlib https://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib

渗透测试|HW蓝队

记录某个对某个钓鱼事件中获取的钓鱼样本进行分析&#xff0c;以及简单的制作学习 样本行为分析 首先看到是 qq 邮箱发来的某个压缩包大概本身是带密码的&#xff0c;反手就丢到虚拟机先看下大概文件&#xff0c;解压后是这样的一个快捷方式 然后打开属性查看快捷方式&#x…

深入理解Python中的模块和包

目录 一、模块&#xff08;Module&#xff09; 1.1 模块的概念 1.2 模块的使用方法 1.3 模块的作用和优势 二、包&#xff08;Package&#xff09; 2.1 包的概念 2.2 包的使用方法 2.3 包的作用和优势 三、模块和包的应用场景 3.1 模块的应用场景 3.2 包的应用场景 …

【开源视频联动物联网平台】开箱即用的物联网项目介绍

写一个开箱即用的物联网项目捐献给Dromara组织 一、平台简介 MzMedia开源视频联动物联网平台&#xff0c;简单易用&#xff0c;更适合中小企业和个人学习使用。适用于智能家居、农业监测、水利监测、工业控制&#xff0c;车联网&#xff0c;监控直播&#xff0c;慢直播等场景。…

echarts图表滚动条带动页面窗口滚动条的问题

网上搜了很多方法不管用&#xff0c;后来发现每次滚动echarts或者左右滑动echarts下方都会报错&#xff0c;报错提示如下&#xff0c;看看你们的图表是否这样报错&#xff1a; 报错信息如下&#xff1a;Unable to preventDefault inside passive event listener invocation 原…

亚信科技AntDB数据库完成中国信通院数据库迁移工具专项测试

近日&#xff0c;在中国信通院“可信数据库”数据库迁移工具专项测试中&#xff0c;湖南亚信安慧科技有限公司&#xff08;简称&#xff1a;亚信安慧科技&#xff09;数据库数据同步平台V2.1产品依据《数据库迁移工具能力要求》、结合亚信科技AntDB分布式关系型数据库产品&…

vuepress-----3、导航栏

3、导航栏 # 页面目录结构约定 . ├── docs │ ├── .vuepress (可选的) │ │ ├── components (可选的) │ │ ├── theme (可选的) │ │ │ └── Layout.vue │ │ ├── public (可选的) │ │ ├── styles (可选的) │ │ │…

分布式系统:CAP 定理

欢迎来到分布式系统系列。在本文中&#xff0c;我们将学习并理解什么是 CAP 定理。CAP 代表一致性、可用性和分区容错性。当我们谈论CAP定理时&#xff0c;我们主要谈论的是分布式系统。首先&#xff0c;让我们了解一下什么是分布式系统。分布式系统是由运行在单台或多台机器上…

Jmeter之压力测试总结!

一、基本概念 1.线程组N&#xff1a;代表一定数量的并发用户&#xff0c;所谓并发就是指同一时刻访问发送请求的用户。线程组就是模拟并发用户访问。 2.Ramp-Up Period(in seconds)&#xff1a;建立所有线程的周期&#xff0c;就是告诉jmeter要在多久没启动所有线程&#xff…

Intellij idea 快速定位到文件的开头或者结尾的几种方式

方式一&#xff1a;Scroll To Top / Scroll To Bottom 首先打开Keymap设置&#xff0c;并搜索Scroll To 依次点击File->Settings->Keymap可打开该界面 对于Scroll To Top 快速滑动定位到文件顶部&#xff0c; Scroll To Bottom快速定位到文件底部 默认是没有设置快捷键的…

民安智库(第三方公众满意度调查):专业助力咖啡店客户满意度调查

近期&#xff0c;一家知名的咖啡店品牌面临着市场竞争加剧和服务质量提升的挑战。为了更好地了解客户需求和提升客户满意度&#xff0c;该咖啡店决定委托民安智库&#xff08;第三方满意度测评&#xff09;开展一次全面的客户满意度调查。 本次调查旨在了解客户对咖啡店服务的…