PyQt5学习第一发(基础窗口创建 菜单栏 工具栏 状态栏 )
来源:互联网 发布:rsa算法加密解密过程 编辑:程序博客网 时间:2024/05/29 16:28
早就知道PyQt的强大,正好需要学GUI,开好多网上课程并没有有关pyqt的讲解,基本上用的要么是wxpython要么是tk,其实pyQt也很厉害,所以,学习pyqt只能借助博客了,
下面是初试pyQt的代码
import sysfrom PyQt5.QtWidgets import QApplication,QToolTip,QPushButton,QMessageBox,QTextEdit,QAction,qApp,QMainWindowfrom PyQt5.QtGui import QFont,QIconfrom PyQt5.QtCore import QCoreApplication'''QApplication 应用对象 QWidgets 申请基本窗体空间 QToolTip 创建窗体组件提示窗 QPushButton 按钮 QIcon图片 QAction 事件,'''class Frame(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): QToolTip.setFont(QFont("SansSerif",11))#设置提示框的字体 self.setToolTip('这是窗体') #创建一个文本框 text = QTextEdit() self.setCentralWidget(text) #QAction是一个抽象类,可以通过菜单栏,工具栏,或者快捷键实现, #以下代码实现了带有图标和Exit的菜单的创建,同时设置了执行命令的快捷键以及鼠标悬停在这个菜单上的提示信息 exitAct = QAction(QIcon('exit.ico'),'Exit',self) exitAct.setShortcut('Ctrl+Q') exitAct.setStatusTip('Press and quit') #执行此动作时,发射一个triggered信号,这个信号和quit连接,执行相关事件 exitAct.triggered.connect(qApp.quit) #创建菜单栏,附加一个名为File的菜单,然后把之前创建的exitAct添加到file这个菜单中 menubar = self.menuBar() fileMenu = menubar.addMenu('&File') fileMenu.addAction(exitAct) #添加工具栏,状态栏 并为工具栏中的组件添加事件 self.statusBar() tbar = self.addToolBar('Exit') tbar.addAction(exitAct) #创建两个按钮对象 qbtn = QPushButton("退出",self) qbtn.setToolTip('退出程序')#设置鼠标悬停出现的提示信息 qbtn.resize(qbtn.sizeHint())#设置按钮大小为默认的 qbtn.move(220,360)#设置按钮出现的位置 qbtn.clicked.connect(QCoreApplication.instance().quit)#为按钮添加事件机制 self.setGeometry(200,300,300,400)#设置窗口出现的位置以及窗口的宽和高 self.setWindowTitle("小坤窗口") self.show() #该方法主要是关闭窗口时弹出对话框,让用户确认是否关闭 def closeEvent(self, event): #其中参数分别为 对话框标题 对话框消息 对话框选项(两个选项),默认选项 reply = QMessageBox.question(self,u'退出页面',u'你确定要退出页面么?',QMessageBox.Yes | QMessageBox.No,QMessageBox.No) if reply == QMessageBox.No: event.ignore() else: event.accept()if __name__ == "__main__": app = QApplication(sys.argv)# 创建一个应用对象 ,sys.argv 是提供对脚本控制功能的参数 #实例化对象 ex = Frame() #结束应用的主循环,主循环是从窗口系统中接受时间并快速的法网应用窗口,调用exit()方法或者主窗口关闭时,主循环结束 #sys.exec_()方法是确保关闭干净 sys.exit(app.exec_())
有一点小问题就是在macOS平台下运行,看不到菜单栏,在网上找好长时间,有个解释说是菜单栏在屏幕顶部菜单栏中,可是我始终没有找到,这点好像对mac用户挺不友好的,希望有大佬能帮我解决此问题。
另外,为了加强学习,在网上找了pyqt的学习相关文档
https://pythonprogramminglanguage.com/pyqt-menu/
以下是在上面摘抄的有关菜单栏的相关内容
阅读全文
0 0
- PyQt5学习第一发(基础窗口创建 菜单栏 工具栏 状态栏 )
- PyQt5学习记录(2)---QMainWindow菜单栏、状态栏和工具栏
- PyQt5的菜单栏,工具栏,状态栏的合并
- PyQt5教程-07-菜单栏、工具栏、状态栏
- QT学习笔记05QMainWindow(菜单栏+工具栏+状态栏+浮动窗口)
- 对话框(dialog)、菜单栏、工具栏、状态栏
- 菜单栏、工具栏和状态栏
- MFC基于对话框的菜单栏,工具栏和状态栏的创建
- 窗口菜单栏工具栏
- Qt 学习之路 2(12):菜单栏、工具栏和状态栏
- QT5 学习之路16---菜单栏、工具栏和状态栏
- C#中菜单栏,工具栏,状态栏的学习总结
- Qt学习之八:菜单栏、工具栏和状态栏
- 模块五 菜单栏、工具栏、状态栏
- Qt实现菜单栏,工具栏,状态栏
- Qt实现菜单栏,工具栏,状态栏
- PyQt5学习笔记01----第一个窗口
- PyQt5学习笔记01----第一个窗口
- Android与JS交互,json传参问题
- JAVA基础之异常
- 6.18
- [通过scikit-learn掌握机器学习] 01基础
- 自动化测试工具Selenium入门
- PyQt5学习第一发(基础窗口创建 菜单栏 工具栏 状态栏 )
- QFTP的配置使用以及避免下载文件为0kb的注意事项
- MVP一级列表购物车自定义View
- Ubuntu(乌班图)系统下搭建Gerrit服务器及使用过程中会遇到的一些问题
- wait和notify方法
- 【ML学习笔记】5:机器学习中的数学基础5(张量,哈达玛积,生成子空间,超平面,范数)
- 【Scikit-Learn 中文文档】4 线性和二次判别分析
- Mybatis知识点
- ConcurrentHashMap的实现原理