PyQt5 – 如何为组合框添加模型

  • Post category:Python

当想要在PyQt5的组合框(QComboBox)中加载数据时,我们可以使用模型来实现。这里是使用PyQt5为组合框添加模型的完整教程。

准备工作

在开始之前,需要确保已经在您的Python环境中安装了PyQt5。您可以使用以下命令安装PyQt5:

pip install pyqt5

步骤一 – 创建QComboBox

第一步是创建一个QComboBox,使用以下代码:

from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

app = QApplication([])

combo_box = QComboBox()
combo_box.show()

app.exec_()

这将创建一个空的组合框,并显示在屏幕上。

步骤二 – 创建模型

接下来,我们需要创建一个模型来存储我们想要显示的数据。在这个例子中,我们将使用QStandardItemModel作为我们的模型。使用以下代码创建模型:

from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

app = QApplication([])

model = QStandardItemModel()
combo_box = QComboBox()
combo_box.show()

app.exec_()

步骤三 – 将模型添加到组合框中

第三步是将模型添加到组合框中。使用以下代码将模型添加到组合框中并设置其为当前模型:

from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

app = QApplication([])

model = QStandardItemModel()
combo_box = QComboBox()
combo_box.setModel(model)
combo_box.show()

app.exec_()

现在,我们已经将模型添加到组合框中并设置其为当前模型。

步骤四 – 向模型中添加数据

接下来,我们需要向模型中添加数据。使用以下代码向模型中添加单个项:

from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

app = QApplication([])

model = QStandardItemModel()
combo_box = QComboBox()
combo_box.setModel(model)

item = QStandardItem("Item 1")
model.appendRow(item)

combo_box.show()

app.exec_()

该代码创建一个新项目,并将该项目添加到模型的末尾。

如果您想向模型中添加多个项,请使用以下代码:

from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

app = QApplication([])

model = QStandardItemModel()
combo_box = QComboBox()
combo_box.setModel(model)

items = ["Item 1", "Item 2", "Item 3"]

for text in items:
    item = QStandardItem(text)
    model.appendRow(item)

combo_box.show()

app.exec_()

该代码创建三个项目,并将它们添加到模型的末尾。

结论

我们已经学习了如何在PyQt5中实现向QComboBox添加模型的方法。通过此方法,我们可以轻松地将数据加载到组合框中,以便用户可以从中选择。