Python _PyQt5对话框
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_())
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_())
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_())
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