下面我将详细讲解Python的"PyQt5 QMenuBar,QMenu&QActionWidgets"的完整使用攻略。
一、什么是PyQt5 QMenuBar,QMenu&QActionWidgets
PyQt5是一个用于创建桌面应用程序的Python模块,提供了丰富的GUI(图形用户界面)功能,其中QMenuBar、QMenu和QActionWidgets是PyQt5中非常实用的三个小部件。
-
QMenuBar:是一个水平菜单栏,用于将多个菜单组织在一起,方便用户操作。
-
QMenu:是一个弹出式菜单或子菜单,与QMenuBar类似,可以创建菜单项和分隔符,可与QMenuBar和其他QMenu合并使用。
-
QActionWidgets:是可执行操作的GUI(图形用户界面)小部件,用于触发事件(例如,启动一个功能或打开一个窗口)。
二、如何使用PyQt5 QMenuBar,QMenu&QActionWidgets
QMenuBar的使用
使用QMenuBar需要先进行以下几个步骤:
1.导入PyQt5.QtWidgets模块。
2.创建QMainWindow窗口。
3.创建QMenuBar对象,并将其添加到窗口中。
4.创建QMenu对象,并逐个添加到QMenuBar中。
以下是一个简单的例子,它演示了如何创建一个简单的QMenuBar:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QMenu
class App(QMainWindow):
def __init__(self):
super().__init__()
menubar = self.menuBar()
fileMenu = menubar.addMenu('文件')
editMenu = menubar.addMenu('编辑')
self.setWindowTitle('PyQt5 menu')
self.setGeometry(300, 200, 350, 250)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
代码说明:
1.在这个例子中,我们导入QApplication、QMainWindow、QMenuBar和QMenu模块。
2.创建一个应用程序、一个主窗口、一个QMenuBar对象和两个QMenu对象。
3.在做这些之后,我们将QMenu添加到QMenuBar中。
QMenu的使用
QMenu是一个弹出式菜单或子菜单,它在QMainWindow或其他QMenu小部件内创建。创建QMenu需要先进行以下步骤:
1.创建QMenu对象,并将其添加到窗口或其他QMenu对象中。
2.向QMenu对象中添加QActionWidgets。
以下是一个简单的例子,它演示了如何创建一个简单的QMenu:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QMenu, QAction
class App(QMainWindow):
def __init__(self):
super().__init__()
menubar = self.menuBar()
fileMenu = menubar.addMenu('文件')
newAct = QAction('新建', self)
fileMenu.addAction(newAct)
self.setWindowTitle('PyQt5 menu')
self.setGeometry(300, 200, 350, 250)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
代码说明:
1.在这个例子中,我们分别导入QApplication、QMainWindow、QMenuBar、QMenu和QAction模块。
2.创建一个应用程序、一个主窗口、一个QMenuBar对象和一个QMenu对象。
3.在QMenu对象中,我们添加了一个QActionWidgets.
QActionWidgets的使用
QActionWidget是可执行操作的GUI(图形用户界面)小部件,它可以在QMenu或QToolBar中使用。使用QActionWidget需要先进行以下步骤:
1.创建QAction对象,并向其添加标签、快捷方式和提示信息。
2.绑定QAction和操作。
3.将QAction添加到QMenu或QToolBar中。
以下是一个简单的例子,它演示了如何创建一个简单的QActionWidget:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction
class App(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
newAct = QAction('新建', self)
newAct.setShortcut('Ctrl+N')
newAct.setStatusTip('创建一个新文件')
newAct.triggered.connect(self.create_file)
menubar = self.menuBar()
fileMenu = menubar.addMenu('文件')
fileMenu.addAction(newAct)
self.setWindowTitle('PyQt5 menu')
self.setGeometry(300, 200, 350, 250)
self.show()
def create_file(self):
print('创建一个新文件')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
代码说明:
1.在这个例子中,我们分别导入QApplication、QMainWindow和QAction模块。
2.创建QAction对象,添加标签、快捷方式和提示信息。
3.将QAction添加到QMenu中。
4.绑定QAction和操作(create_file)。
5.在操作(create_file)中输出提示信息。
第二个示例
以下是第二个示例,它演示了如何在QMenu和QAction之间创建一个新的子菜单,以及如何向新的菜单中添加QAction,然后执行操作。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QAction
class App(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
menubar = self.menuBar()
fileMenu = menubar.addMenu('文件')
impMenu = QMenu('导入', self)
fileMenu.addMenu(impMenu)
impAct = QAction('导入,选项A', self)
impMenu.addAction(impAct)
impAct2 = QAction('导入,选项B', self)
impMenu.addAction(impAct2)
newAct = QAction('新建', self)
fileMenu.addAction(newAct)
self.setWindowTitle('PyQt5 menu')
self.setGeometry(300, 200, 350, 250)
self.show()
def impSelected(self, q):
print("从子菜单中选择了此项:"+q.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
代码说明:
1.在这个例子中,我们导入了QApplication、QMainWindow、QMenu和QAction模块。
2.创建QMenu和QAction对象,并将QMenu和QAction添加到QMenuBar中。
3.创建新的QMenu对象(impMenu)并添加到父菜单中(fileMenu)。
4.向impMenu中添加QAction对象,并将执行操作绑定到impSelected函数。
5.在impSelected函数中输出选择的QAction文本。
三、总结
这篇文章中,我们介绍了如何使用PyQt5中的三个小部件QMenuBar、QMenu和QActionWidgets。通过多个示例,我们说明了如何创建菜单栏、菜单,如何将动作绑定到GUI小部件,并完成操作等等。希望这篇小型教程能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 QMenuBar, QMenu & QAction Widgets - Python技术站