pyqt5 如何让combobox在下拉时加载选项?
时间: 2023-08-11 18:16:32 浏览: 44
在 PyQt5 中,可以使用 `QComboBox` 的 `showPopup` 信号来实现在下拉时加载选项。具体的实现可以参考以下代码示例:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QComboBox
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建 Combobox
self.combo = QComboBox(self)
self.setCentralWidget(self.combo)
# 绑定事件
self.combo.showPopup.connect(self.load_options)
def load_options(self):
# 模拟加载选项
options = ['选项1', '选项2', '选项3']
self.combo.clear()
self.combo.addItems(options)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在上面代码中,我们首先创建了一个 `QComboBox` 对象 `combo`,然后使用 `showPopup` 信号绑定了 `load_options` 函数。当用户点击下拉箭头时,会触发 `showPopup` 信号,然后调用 `load_options` 函数加载选项,并设置到 `QComboBox` 中,从而实现在下拉时加载选项的效果。需要注意的是,每次下拉时需要先清空原有的选项,再添加新的选项。