📜  pyqt5 下拉菜单 - Python (1)

📅  最后修改于: 2023-12-03 15:33:54.828000             🧑  作者: Mango

PyQt5 下拉菜单 - Python

PyQt是一种用于Python编程的GUI(图形用户界面)工具包,它提供了用于构建基于桌面的应用程序(Windows、Linux和Mac)的各种组件和控件。其中之一是QComboBox,它是一种下拉菜单控件,可以用于从预定列表中选择一项。

使用QComboBox

QComboBox是一个PyQt库中的类,它提供了一种创建下拉菜单的简单方法。要使用它,请首先导入库,然后创建一个QComboBox对象并将其添加到您的GUI中的任何容器(如窗口或布局)中。接下来,您需要将项目添加到下拉菜单中,您可以使用addItem()方法来添加项目。

from PyQt5.QtWidgets import QMainWindow, QComboBox, QApplication

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

        # 创建QComboBox控件并将其添加到窗口中
        self.comboBox = QComboBox(self)
        self.comboBox.setGeometry(50, 50, 150, 30)

        # 向下拉菜单中添加项目
        self.comboBox.addItem('Item 1')
        self.comboBox.addItem('Item 2')
        self.comboBox.addItem('Item 3')

app = QApplication([])
window = MyWindow()
window.show()
app.exec_()

在上面的代码示例中,我们创建了一个MyWindow类,它继承自QMainWindow类,然后我们在窗口中创建了一个QComboBox控件,并添加了三个项目。最后,我们调用了app.exec_()方法来启动程序并等待事件循环。

获取选择项

一旦下拉菜单中有项目,并且用户选择了一个项目,您可能想要获取所选项。要获取所选项,我们可以使用currentText()方法。此方法将返回当前所选项目的文本。

from PyQt5.QtWidgets import QMainWindow, QComboBox, QApplication

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

        # 创建QComboBox控件并将其添加到窗口中
        self.comboBox = QComboBox(self)
        self.comboBox.setGeometry(50, 50, 150, 30)

        # 向下拉菜单中添加项目
        self.comboBox.addItem('Item 1')
        self.comboBox.addItem('Item 2')
        self.comboBox.addItem('Item 3')

        # 连接信号和槽以获取所选项目
        self.comboBox.currentTextChanged.connect(self.get_selected_item)

    def get_selected_item(self, item):
        print(item)

app = QApplication([])
window = MyWindow()
window.show()
app.exec_()

在上面的代码示例中,我们将comboBox的currentTextChanged信号连接到名为get_selected_item()的槽上。每次用户选择新项目时,该槽都会将所选项目的文本作为参数打印到控制台中。

小结

在本指南中,我们介绍了使用PyQt的QComboBox类创建下拉菜单的基础知识。我们还演示了如何向下拉菜单中添加项目,并通过连接信号和槽来获取所选项目。