PyQt5菜单添加+事件+状态栏-7

 1 from PyQt5.QtWidgets import QApplication,QMainWindow,QAction
 2 from PyQt5.QtGui import QIcon
 3 #demo_7:菜单添加action以及状态栏显示消息
 4 import sys
 5 class Example(QMainWindow):
 6     def __init__(self):
 7         self.app = QApplication(sys.argv)
 8         super().__init__()
 9         self.initUI()
10 
11     def initUI(self):
12         action=QAction(QIcon('exit.png'),'&exit',self) #定义一个Action即动作
13         action.setStatusTip('Exit application')#状态栏信息
14         action.triggered.connect(self.app.quit) #触发事件动作为"关闭窗口"
15         action.setShortcut('Ctrl+Q')#快捷键设置
16         self.statusBar()#状态栏信
17 
18         menu=self.menuBar() #当前窗体创建menuBar
19         fmenu=menu.addMenu('&file')
20 
21         menu2 = self.menuBar()
22         fmenu2 = menu2.addMenu('&test') #再添加一个menuBar
23 
24         fmenu.addAction(action) #为第一级别menu添加动作
25         self.setGeometry(300, 300, 300, 200)
26         self.setWindowTitle('Statusbar')
27         self.show()
28 
29 if __name__=='__main__':
30 
31     e=Example()
32     sys.exit(e.app.exec())

 

转载于:https://www.cnblogs.com/ygzhaof/p/9732558.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 PyQt5 中的 QMenuBar 和 QAction 实现菜单。以下是一个简单的示例代码: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QAction class Window(QMainWindow): def __init__(self): super().__init__() menubar = QMenuBar(self) self.setMenuBar(menubar) file_menu = menubar.addMenu('文件') new_action = QAction('新建', self) file_menu.addAction(new_action) edit_menu = menubar.addMenu('编辑') cut_action = QAction('剪切', self) edit_menu.addAction(cut_action) if __name__ == '__main__': app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_()) ``` 在这个示例中,我们创建了一个 Window 类,它继承自 QMainWindow。在构造函数中,我们创建了一个 QMenuBar,并将其设置为窗口的菜单栏。然后,我们添加了两个菜单:文件和编辑。每个菜单都有一个 QAction,即“新建”和“剪切”。 当我们运行这个程序时,会显示一个带有菜单栏的窗口。如果点击“文件”菜单,会显示“新建”选项。如果点击“编辑”菜单,会显示“剪切”选项。 ### 回答2: Python pyqt5可以通过QMenuBar和QMenu实现菜单。QMenuBar是主窗口菜单栏的容器,QMenu是菜单栏中的菜单项。 首先,我们需要导入pyqt5和QtCore模块。然后创建一个主窗口类,并在初始化函数中添加菜单栏及其菜单项。 ```python from PyQt5.QtWidgets import QMainWindow, QApplication, QMenuBar, QAction, QMenu from PyQt5.QtGui import QIcon from PyQt5.QtCore import Qt class MainWindow(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): menubar = self.menuBar() # 创建菜单栏 menubar.setNativeMenuBar(False) # 解决macOS上菜单栏不可见的问题 file_menu = menubar.addMenu('文件') # 创建一个文件菜单 edit_menu = menubar.addMenu('编辑') # 创建一个编辑菜单 new_action = QAction(QIcon('new.png'), '新建', self) # 创建一个新建动作 new_action.setShortcut('Ctrl+N') # 设置快捷键 new_action.setStatusTip('新建文件') # 设置状态栏提示 new_action.triggered.connect(self.newFile) # 绑定槽函数 file_menu.addAction(new_action) # 将动作添加到文件菜单中 save_action = QAction(QIcon('save.png'), '保存', self) # 创建一个保存动作 save_action.setShortcut('Ctrl+S') # 设置快捷键 save_action.setStatusTip('保存文件') # 设置状态栏提示 save_action.triggered.connect(self.saveFile) # 绑定槽函数 file_menu.addAction(save_action) # 将动作添加到文件菜单中 copy_action = QAction(QIcon('copy.png'), '复制', self) # 创建一个复制动作 copy_action.setShortcut('Ctrl+C') # 设置快捷键 copy_action.setStatusTip('复制文件') # 设置状态栏提示 copy_action.triggered.connect(self.copyFile) # 绑定槽函数 edit_menu.addAction(copy_action) # 将动作添加到编辑菜单中 self.setWindowTitle('菜单示例') self.setGeometry(300, 300, 300, 200) self.show() def newFile(self): print('新建文件') def saveFile(self): print('保存文件') def copyFile(self): print('复制文件') if __name__ == '__main__': app = QApplication([]) window = MainWindow() app.exec_() ``` 在这个示例中,我们创建了一个带有两个菜单菜单栏,分别是文件和编辑菜单。每个菜单中都有对应的动作项。我们给每个动作项设置了图标、快捷键和状态栏提示。当用户点击菜单项时,对应的槽函数将会被调用。 以上就是使用Python pyqt5实现菜单的一个简单示例。 ### 回答3: Python中的PyQt5库提供了一种简单而强大的方式来实现菜单。我们可以使用QMenuBar类来创建菜单栏,使用QMenu类来创建菜单,以及使用QAction类来创建菜单项。 首先,我们需要导入PyQt5库和所需的类: ```python from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QMenu, QAction import sys ``` 然后,我们可以在主窗口类中添加菜单栏和菜单: ```python class MyWindow(QMainWindow): def __init__(self): super().__init__() # 创建菜单栏 menubar = self.menuBar() # 在菜单栏上添加菜单 file_menu = menubar.addMenu('文件') edit_menu = menubar.addMenu('编辑') # 在菜单添加菜单项 new_action = QAction('新建', self) file_menu.addAction(new_action) save_action = QAction('保存', self) file_menu.addAction(save_action) cut_action = QAction('剪切', self) edit_menu.addAction(cut_action) copy_action = QAction('复制', self) edit_menu.addAction(copy_action) ``` 在上面的代码中,我们创建了一个包含“文件”和“编辑”两个菜单菜单栏。然后,我们在每个菜单添加了一些菜单项。 最后,我们需要创建应用程序并显示主窗口: ```python if __name__ == '__main__': app = QApplication(sys.argv) window = MyWindow() window.show() sys.exit(app.exec_()) ``` 这样,我们就成功实现了一个简单的菜单。你可以根据自己的需要添加更多的菜单菜单项,并为每个菜单添加相应的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值