QCombobox信号槽示例
时间: 2024-10-22 13:24:48 浏览: 31
Qt例程源代码QComboBox.7z
QComboBox(组合框)是一个让用户从下拉选项中选择项目的控件。在Qt中,我们可以使用信号(signal)和槽(slot)机制来连接它的行为。例如,当用户在QComboBox中选择一个新的项目时,`currentIndexChanged`信号会被自动触发。为了响应这个信号,我们可以在信号槽(connect)中定义一个槽函数。
以下是简单的QComboBox信号槽示例:
```python
from PyQt5.QtWidgets import QApplication, QVBoxLayout, QWidget, QComboBox
class ComboBoxExample(QWidget):
def __init__(self):
super().__init__()
self.combo = QComboBox(self)
self.combo.addItems(["Option 1", "Option 2", "Option 3"])
# 连接信号(当组合框当前索引改变时)到槽函数
self.combo.currentIndexChanged.connect(self.update_image)
layout = QVBoxLayout()
layout.addWidget(self.combo)
self.setLayout(layout)
def update_image(self, index): # 槽函数,接收信号传递来的当前选中项的索引
selected_item = self.combo.itemText(index) # 获取选中的文字描述
print(f"选择了:{selected_item}")
if __name__ == "__main__":
app = QApplication([])
example = ComboBoxExample()
example.show()
app.exec_()
```
在这个例子中,当用户在QComboBox中切换选项时,`update_image`槽函数会被调用,并打印出所选内容。这就是QComboBox的一个基本信号槽应用实例。
阅读全文