网站公网安备链接怎么做,网站高端设计公司哪家好,如何用模板做网站视频,中国搜索网站提交入口知识回顾#xff1a;1.掌握的是QCalendarWidget日历控件2.click点击事件(信号)触发3.掌握日期的格式化QDate本节知识视频教程以下开始文字讲解#xff1a;一、案例#xff1a;菜单1.新建第一个窗体2.一级菜单的配置3.二级菜单的配置4.利用菜单功能实现界面跳转#xff0c;实…知识回顾1.掌握的是QCalendarWidget日历控件2.click点击事件(信号)触发3.掌握日期的格式化QDate本节知识视频教程以下开始文字讲解一、案例菜单1.新建第一个窗体2.一级菜单的配置3.二级菜单的配置4.利用菜单功能实现界面跳转实现一个多窗体的打开5.利用菜单功能实现温馨提示效果图二、开发思路1.导入类QMainWindow。2.使用Qmenu菜单类这个菜单我们可以从窗体本身的方法进行获取。3.利用Qmenu的功能来实现多级菜单addAtion这是一个直接产生点击事件的行为也可以用addMenu功能来增加子菜单。4.每次都要弹出新窗体这个新窗体我们要制作成全局的窗体。5.使用Qmessagebox来实现一个简单的帮助。三、开发过程要点这里的简便方法在哪里本例就是运用了QMainWindow本身功能的继承载入菜单的简单功能#利用窗体本身有的菜单栏功能进行载入mymenuself.menuBar()mymenu.addAction(“新建”) 这里是要新建一个菜单按钮功能mymenu.addAction(运行)mymenu.addAction(调试)mymenu.addAction(帮助)菜单按钮行为的触发要点actHelpQAction(帮助,self)利用Qaction的triggered信号实现菜单按钮的功能。这个信号也称为“触发”actHelp.triggered.connect(self.ljyHelp)mymenu.addAction(actHelp)帮助按钮的显示内容通过消息框进行提示。msgboxQMessageBox(QMessageBox.Information,帮助,欢迎加老刘微信selidev交流,QMessageBox.Ok,self)msgbox.show() 这里千万不要忘记show出来子菜单的书写这里要注意直接将子菜单写在父级菜单的下方。这样的好处更多的也可以帮助我们进行二次理解。子菜单的添加通过addMenu功能mymenuself.menuBar()mymenu.addMenu(文件)子菜单的核心代码这里要注意子菜单的写法是一级一级下来的并且每一级的书写都有一个范围对象。mymenuself.menuBar() 总菜单栏的返回对象fileMenumymenu.addMenu(“文件”) 文件菜单的返回对象fileMenu.addAction(新建)recentFilesfileMenu.addMenu(“最新的..”) 最新的…菜单项的返回对象recentFiles.addAction(文件1)recentFiles.addAction(文件2)recentFiles.addAction(文件3)对于新窗体的建议建议一个窗体就写一个类。那么每一次新的窗体出现的时候就是实例化这个类。注意想要让这个窗体被一直死循环监听必须要把这个窗体作为程序的全局变量。否则就会出现闪退现象。新建一个窗体的写法1.直接写一个自定义的类窗体2.将这个类窗体先不要show3.将这个类窗体在main中进行实例化作为全局变量4.在槽的行为中将这个窗体show出来。新建多个窗体1.这里的思想要实例化多个窗体且这些窗体都是全局变量2.这里我们要考虑使用列表作为全局变量来承载这些窗体对象3.此时我们需要在自定义的类中书写show的代码四、总结强调1.掌握菜单栏的书写2.掌握菜单按钮的单击行为跳转功能3.掌握子菜单的建立4.掌握多窗体的书写注意点本节教程源代码import sysfrom PyQt5.QtWidgets import QApplication,QWidget,QMainWindow,QAction,QMessageBoxclass MyClass(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle(刘金玉编程)self.setGeometry(300,100,400,300)#制作菜单#利用窗体本身有的菜单栏功能进行载入mymenuself.menuBar()fileMenumymenu.addMenu(文件)actNewWinQAction(新建窗体,self)actNewWin.triggered.connect(self.myNewWin)fileMenu.addAction(actNewWin)recentFilesfileMenu.addMenu(最新的..)recentFiles.addAction(文件1)recentFiles.addAction(文件2)recentFiles.addAction(文件3)mymenu.addAction(运行)mymenu.addAction(调试)actHelpQAction(帮助,self)actHelp.triggered.connect(self.ljyHelp)mymenu.addAction(actHelp)self.show()def myNewWin(self):list1.append(MyClass2())def ljyHelp(self):msgboxQMessageBox(QMessageBox.Information,帮助,欢迎加老刘微信selidev交流,QMessageBox.Ok,self)msgbox.show()class MyClass2(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle(编程创造城市http://bcczcs.com)self.show()if __name____main__:appQApplication(sys.argv)mcMyClass()list1[]app.exec_()长按关注公众号相关文章