Python 调用PyQt5 制作对话框,退出时候有二次确认(注:默认是直接退出)

 1 # -*- ytf-8 -*-
2 """
3 用PyQt建一个对话框,退出时提示有二次确认
4 """
5
6 import sys
7 from PyQt5.QtWidgets import QApplication,QMessageBox,QWidget
8
9 class myWin(QWidget):
10 def __init__(self):
11 #执行父类的__init__构造方法
12 super().__init__()
13 #将窗口的设置委托给initUI方法
14 self.initUI()
15 def initUI(self):
16 #设置窗口
17 self.setWindowTitle("消息框")
18 self.setGeometry(200,200,500,500) #先位置再大小
19 self.show()
20 #重写关闭事件方法(closeEvent)
21 def closeEvent(self,event):
22 #获取消息框实例的值
23 msg = QMessageBox.question(self,"退出警告","你确定退出吗?",QMessageBox.Yes|QMessageBox.No,QMessageBox.No) #这里是固定格式,yes/no不能动
24 #判断消息的返回值
25 if msg ==QMessageBox.Yes:
26 event.accept()
27 else:
28 event.ignore()
29 if __name__=="__main__":
30 app=QApplication(sys.argv)
31 my=myWin()
32 sys.exit(app.exec_())

PyQt5_对话框_退出时确认

Python_menuBar

 1 import sys
2 from PyQt5.QtWidgets import QApplication,QMainWindow,QAction,QMessageBox
3 from PyQt5.QtGui import QIcon
4
5 class myWin(QMainWindow):
6 def __init__(self):
7 super().__init__()
8 self.initUI()
9
10 def initUI(self):
11 #创建动作对象并设置
12 action_close=QAction(QIcon('icon.png'),'&退出',self)
13 action_close.setShortcut('A')
14 action_close.setStatusTip('这是退出功能')
15 action_close.triggered.connect(self.close)
16
17 action_open=QAction(QIcon('icon.png'),'&打开',self)
18 action_open.setShortcut('Ctrl+O')
19 action_open.setStatusTip('这是打开功能')
20 action_open.triggered.connect(self.open1)
21
22 #创建菜单
23 menuBar=self.menuBar()
24 menufile=menuBar.addMenu('&文件')
25 menufile.addAction(action_open)
26 menufile.addAction(action_close)
27
28 #设置状态栏
29 self.statusBar().showMessage('这个是状态栏....')
30
31 #设置窗口属性
32 self.setGeometry(100,300,400,400)
33 self.setWindowTitle('菜单栏实例')
34 self.setWindowIcon(QIcon('icon.png'))
35
36 self.show()
37 #重写关闭事件方法(closeEvent)
38 def closeEvent(self,event):
39 #获取消息框实例的值
40 msg=QMessageBox.question(self,'退出警告','你确认退出吗??',QMessageBox.Yes | QMessageBox.No,QMessageBox.No)
41 #判定消息框的返回值
42 if msg==QMessageBox.Yes:
43 event.accept()
44 else:
45 event.ignore()
46 def open1(self):
47 print('马季是个相声家')
48
49 if __name__=='__main__':
50 app=QApplication(sys.argv)
51 my=myWin()
52 sys.exit(app.exec_())

Python_menuBar

 1 # -*- coding:utf-8 -*-
2
3 """
4 图形界面
5 拖动 只在图形界面
6
7
8 对于接收拖动组件:
9 1、开启 setAcceptDrops 允许接收拖动
10 2、重写 dragEnterEvent 对拖入数据进行过滤
11 3、重写 dropEvent 放入拖拽状态
12
13 对于拖出组件
14 设置setDragEnabled 为 True 允许拖动操作
15
16
17 目标:将单行文本框里的文字拖到按钮中,在按钮中显示
18 """
19
20 from PyQt5.QtWidgets import QApplication,QWidget,QLineEdit,QPushButton
21 import sys
22
23 #创建一个可以拖入的按键类型
24 class btn_drag(QPushButton):
25 #注意构造方法与按钮之间的参数的需求关系
26 def __init__(self,title,parent): #形参
27 super().__init__(title,parent)
28 self.setAcceptDrops(True) #允许拖入
29
30 def dragEnterEvent(self,e): #重写 拖拽进入方法
31 if e.mimeData().hasFormat("text/plain"): #过滤信息,只能是文本下的纯文本格式
32 e.accept()
33 else:
34 e.ignore()
35
36 def dropEvent(self,e): #重写放入事件
37 self.setText(e.mimeData().text()) #将拖入的文本信息放入到当前实例的text中
38
39 #新建基本框,有单行文本框和按钮
40 class myWin(QWidget):
41 def __init__(self):
42 super().__init__()
43 self.initUI()
44
45 def initUI(self):
46 btn=btn_drag("ok",self) #实例化框中按钮
47 edit=QLineEdit('000',self)
48 edit.setDragEnabled(True) #设置允许拖拽
49 btn.setGeometry(10,10,100,40)
50 edit.setGeometry(10,70,80,20)
51
52 self.setGeometry(150,150,500,300)
53 edit.setWindowTitle("拖拽实例1")
54 self.show()
55
56 if __name__ == "__main__":
57 app = QApplication(sys.argv)
58 my = myWin()
59 sys.exit(app.exec_())

PyQt5 拖动单行文本框的文字到一个按钮里

 1 """
2 选择框
3 """
4
5 import sys
6 from PyQt5.QtWidgets import QApplication,QWidget,QComboBox #combox选择框
7
8 class myWin(QWidget):
9 def __init__(self):
10 super().__init__()
11 self.initUI()
12 def initUI(self):
13 self.com=QComboBox(self) #实例化选择框
14 self.com.setGeometry(40,40,100,20)
15 self.com.addItem("东")
16 self.com.addItem("南")
17 self.com.addItem("西")
18 self.com.addItem("北")
19
20 self.setGeometry(100,100,300,300)
21 self.setWindowTitle("选择框")
22 self.show()
23 def shows(self,date):
24 print(date)
25 self.lb1.setText(str(date))
26
27 if __name__=="__main__":
28 app = QApplication(sys.argv)
29 my = myWin()
30 sys.exit(app.exec_())
31

选择框

Python _PyQt5对话框的更多相关文章

  1. Python _PyQt5 【总】

    http://www.cnblogs.com/archisama/p/5442071.html QtCore QtGui QtWidgets QtMultimedia QtBluetooth QtNe ...

  2. python :模态对话框

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  3. [Python] Remote debugging by Pycharm

    From: http://blog.csdn.net/u013088062/article/details/50170551 虚拟环境配置 配置远程解释器 设想这样一种情况,你在一个平台上操作你的工程 ...

  4. [Python] Interpreter setting in Pycharm

    From: http://blog.csdn.net/u013088062/article/details/50135135 From: http://blog.csdn.net/u013088062 ...

  5. [Python] Basic operations in Pycharm

    From: http://learnpythonthehardway.org/book Comment with line comment: Ctrl + slash Run: Shift + F10 ...

  6. Python在windows下的安装与配置

    安装python 文件准备: A. python安装文件:我用的是python-3.4.3.amd64.msi: 安装很简单,直接双击点下一步即可: 配置环境变量,在windows系统变量中找到pat ...

  7. Odoo 12 开发手册指南(八)—— 业务逻辑 – 业务流程的支持

    在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以文件 ...

  8. 在cmd下可以import cv2,而Pycharm报错:找不到cv2

    平台:win10 x64+Pycharm+Anaconda3+opencv 安装教程:参考博客——http://blog.sina.com.cn/s/blog_cca23c300102xiy4.htm ...

  9. [Pycharm] Interpreter setting in Pycharm

    From: http://blog.csdn.net/u013088062/article/details/50135135 From: http://blog.csdn.net/u013088062 ...

随机推荐

  1. 程序员,想被别人发掘?那你有 freestyle 吗?

    程序员群体是偏内向的,整天和计算机打交道,用代码说话,接受任务,默默工作. 如果这些任务是有挑战性的还行,你的工作成果就能帮你说话,可是大部分工作都是普普通通的,甚至有点儿重复性的劳动. 这个时候表面 ...

  2. 【C语言教程】“双向循环链表”学习总结和C语言代码实现!

    双向循环链表 定义 双向循环链表和它名字的表意一样,就是把双向链表的两头连接,使其成为了一个环状链表.只需要将表中最后一个节点的next指针指向头节点,头节点的prior指针指向尾节点,链表就能成环儿 ...

  3. PHP-FPM包的安装与配置 转

    实验环境:CentOS7 [root@~ localhost]#yum -y install php-fpm php-fpm包:用于将php运行于fpm模式 #在安装php-fpm时,一般同时安装如下 ...

  4. 【应用服务 App Service】NodeJS +Egg 发布到App Service时遇见 [ERR_SYSTEM_ERROR]: A system error occurred:uv_os_get_passwd returned ENOENT(no such file or directory)

    问题情形 本地NodeJS应用使用Egg脚手架构建,本地运行测试完全没有问题,发布后App Service后不能运行.通过登录到kudu后(https://<your web site>. ...

  5. 壹佰文章最全总结| 《关于ASP.NETCore的分享之路》

    学习路线图 (关于学习ASP.NET Core需要了解和掌握的知识点图) 一言不合就来图,各位博客园小伙伴大家好,感觉好久没有写文章了,自从春节开始,中间经历种种,慢慢的就开始微信公众号发文了,原因有 ...

  6. 基于Python与命令行人脸识别项目(系列一)

    Face Recognition 人脸识别 摘要:本项目face_recognition是一个强大.简单.易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,方便大家使用.对于本项目可以使用 ...

  7. gulp + angularjs

    示例项目介绍 文中使用的例子是一个基于 Angular.js 实现的网页版 Todo App,在 Github 中下载angular-quickstart.项目代码结构如下 清单 5. 项目目录结构 ...

  8. webpack学习遇到大坑(纯属自己记录)

    分清webpack1与webpack2区别 1.webpack2的loader不能使用简写了,否则会报如下的错 正确如下: 2.node-sass安装失败,无法下载:Cannot download h ...

  9. map+area标签

    map标签是用于定义一个客户端的图像映射即带有可点击区域的一幅图像,配合area标签 area 元素永远嵌套在 map 元素内部.area 元素可定义图像映射中的区域 例:要实现一幅地图上鼠标点击或者 ...

  10. ipython notesbook 默认路径修改

    Windows下,一个很简单的解决小方法! 改目录 前面很多回答已经说了怎么修改目录: 1.cmd: jupyter notebook --generate-config 2.找到 ~\.jupyte ...