欢迎访问宙启技术站
智能推送

PySide2.QtWidgets中的菜单栏和工具栏

发布时间:2023-12-25 17:45:59

PySide2.QtWidgets是一个用于创建图形用户界面(GUI)的库。其中包含了菜单栏和工具栏的类,可以用于创建和管理应用程序的菜单和工具栏。

首先需要导入PySide2.QtWidgets模块:

from PySide2.QtWidgets import QApplication, QMainWindow, QAction, QMenu, QToolBar, QPushButton

然后可以创建一个应用程序和主窗口:

app = QApplication([])
window = QMainWindow()

接下来,可以创建菜单栏:

menu_bar = window.menuBar()

然后可以创建菜单并添加到菜单栏上:

file_menu = menu_bar.addMenu('File')
edit_menu = menu_bar.addMenu('Edit')

可以创建菜单项并添加到菜单上:

open_action = QAction('Open', window)
file_menu.addAction(open_action)

可以为菜单项添加点击事件:

def on_open():
    print('Open menu item clicked')

open_action.triggered.connect(on_open)

可以添加子菜单到菜单项上:

save_menu = QMenu('Save')
file_menu.addMenu(save_menu)

save_action = QAction('Save', window)
save_menu.addAction(save_action)

save_as_action = QAction('Save As', window)
save_menu.addAction(save_as_action)

菜单栏和菜单的创建和管理与此类似。

接下来,可以创建工具栏:

tool_bar = QToolBar()
window.addToolBar(tool_bar)

可以在工具栏上添加按钮:

open_button = QPushButton('Open')
tool_bar.addWidget(open_button)

可以为按钮添加点击事件:

def on_open():
    print('Open button clicked')

open_button.clicked.connect(on_open)

对于工具栏的其他设置和管理,与此类似。

最后,设置主窗口的大小、标题并显示窗口:

window.setWindowTitle('Menu and Tool Bar Example')
window.resize(400, 300)
window.show()

app.exec_()

完整的示例代码如下:

from PySide2.QtWidgets import QApplication, QMainWindow, QAction, QMenu, QToolBar, QPushButton

app = QApplication([])

window = QMainWindow()

menu_bar = window.menuBar()
file_menu = menu_bar.addMenu('File')

open_action = QAction('Open', window)
file_menu.addAction(open_action)

def on_open():
    print('Open menu item clicked')

open_action.triggered.connect(on_open)

save_menu = QMenu('Save')
file_menu.addMenu(save_menu)

save_action = QAction('Save', window)
save_menu.addAction(save_action)

save_as_action = QAction('Save As', window)
save_menu.addAction(save_as_action)

tool_bar = QToolBar()
window.addToolBar(tool_bar)

open_button = QPushButton('Open')
tool_bar.addWidget(open_button)

def on_open():
    print('Open button clicked')

open_button.clicked.connect(on_open)

window.setWindowTitle('Menu and Tool Bar Example')
window.resize(400, 300)
window.show()

app.exec_()

这个例子演示了如何使用PySide2.QtWidgets中的菜单栏和工具栏类来创建和管理应用程序的菜单和工具栏。您可以根据自己的需求进行相应的修改和扩展。