[파이썬] PyQt 콤보 박스 (`QComboBox`) 위젯

The QComboBox widget in PyQt is a dropdown list or a combo box that allows users to select an option from a predefined list. It is widely used in graphical user interface (GUI) applications to provide a user-friendly way of selecting options. In this blog post, we will explore how to use the QComboBox widget in Python with the PyQt library.

Installation

Before we dive into using QComboBox, we need to make sure that PyQt is installed on our system. You can install it using pip:

pip install pyqt5

Creating a QComboBox widget

To create a QComboBox widget, we first need to import the necessary modules:

from PyQt5.QtWidgets import QApplication, QWidget, QComboBox
from PyQt5.QtCore import Qt

Then, we can create a QComboBox instance by inheriting from the QComboBox class:

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

combobox = QComboBox(window)

The QComboBox widget needs to be placed inside a parent widget, in this case, our parent widget is window.

Adding options to QComboBox

The next step is to add options to the QComboBox widget. We can accomplish this by using the addItem method:

combobox.addItem('Option 1')
combobox.addItem('Option 2')
combobox.addItem('Option 3')

Each call to addItem adds a new option to the combo box.

Handling the selection

To handle the user’s selection, we can connect the currentIndexChanged signal of the QComboBox to a callback function. For example:

def handle_selection(index):
    selected_option = combobox.itemText(index)
    print(f'Selected option: {selected_option}')

combobox.currentIndexChanged.connect(handle_selection)

The handle_selection function takes the index of the selected item as a parameter. We can use the itemText function to retrieve the text of the selected item.

Setting the default selection

By default, the first item in the QComboBox is selected. However, we can set a different default selection using the setCurrentIndex method. For example:

combobox.setCurrentIndex(1)

Conclusion

In this blog post, we explored how to use the QComboBox widget in PyQt to create dropdown lists with selectable options. We learned how to add options to the combobox, handle the user’s selection, and set a default selection. The QComboBox widget is a powerful tool in building user-friendly GUI applications in Python with PyQt.

Happy coding!