[파이썬] PyQt 메뉴바와 툴바

PyQt is a powerful Python library for creating graphical user interfaces (GUIs). It provides various classes and functions to develop feature-rich desktop applications. In this blog post, we will explore how to create a menu bar and toolbar using PyQt in Python.

Setting up the environment

Before we start, make sure you have PyQt installed. You can install it using pip:

pip install pyqt5

Now that we have PyQt installed, let’s dive into creating our menu bar and toolbar.

Creating a Menu Bar

A menu bar is a horizontal bar that contains menus. Each menu can have multiple actions or sub-menus associated with it. Here’s an example of how to create a basic menu bar:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QAction

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        menubar = self.menuBar()
        
        file_menu = menubar.addMenu('File')
        edit_menu = menubar.addMenu('Edit')
        help_menu = menubar.addMenu('Help')

        self.setWindowTitle('PyQt Menu Bar Example')
        self.setGeometry(300, 300, 500, 400)

app = QApplication(sys.argv)
window = MainWindow()
window.show()

sys.exit(app.exec_())

In this example, we create an instance of QMainWindow, which provides a framework for building the main window of an application. We then create a menu bar using the menuBar() method. We use the addMenu() method to add menus to the menu bar.

Creating a Toolbar

A toolbar is a horizontal or vertical bar that contains tools or actions. Tools can be buttons, checkboxes, comboboxes, etc. Here’s an example of how to create a basic toolbar:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QToolBar

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        toolbar = self.addToolBar('Main Toolbar')

        new_action = QAction('New', self)
        save_action = QAction('Save', self)
        exit_action = QAction('Exit', self)

        toolbar.addAction(new_action)
        toolbar.addAction(save_action)
        toolbar.addSeparator()
        toolbar.addAction(exit_action)

        self.setWindowTitle('PyQt Toolbar Example')
        self.setGeometry(300, 300, 500, 400)

app = QApplication(sys.argv)
window = MainWindow()
window.show()

sys.exit(app.exec_())

In this example, we create a toolbar using the addToolBar() method. We then create instances of QAction to represent the tools or actions in the toolbar. We add the actions to the toolbar using the addAction() method. The addSeparator() method adds a separator between the actions.

Conclusion

In this blog post, we learned how to create a menu bar and toolbar using PyQt in Python. We explored the basic code examples to create and populate menus in a menu bar, as well as adding tools to a toolbar. PyQt provides many more options and functionalities to customize the menu bar and toolbar, so be sure to check the official documentation for more information.

PyQt is a versatile library that allows developers to create interactive and user-friendly GUIs. Learning how to utilize the menu bar and toolbar is a crucial step in developing professional-looking applications.