PyQt中QComboBox的信号与槽
1. 声明:
select_combo = QComboBox()
2. 添加选择项
select_combo.addItem('1') select_combo.addItem('2')
或者:
select_combo.addItems(['1', '2', '3'])
3. 信号槽的绑定
QtGui.QWidget.connect(self.comboBox, QtCore.SIGNAL('activated(int)'), self.slot())
实际绑定代码:
connect(select_combo, SIGNAL('activated(int)'), self.selected())
注意:
- 预先声明
from QtGui import * from QtGui import *
- 绑定的SIGNAL可以为:
activated(int)
和currentIndexChanged(int)
区别:
activated(int)
当用户操作时候就会发生信号,无论值是否改变。
currentIndexChanged(int)
在系统生成和用户操作时候都会产生信号,值必须改变。 - 槽函数不能添加SLOT()
一般绑定槽函数时候,需要将槽函数放在SLOT()中,但是此处不可以,否则出现只能界面生成时调用一次的BUG。
4. 其他常用函数
.addItem(string)
#添加字符串项到Item
.addItems(list)
#添加列表或元组元素到Item
.clear()
#清除所有Item
.clearEditText()
#清除编辑框内容
.count()
#返回Item数目
.currentIndex()
#返回当前选择索引,从0开始
.currentText()
#返回当前选择内容
.insertItem(index,string)
#插入字符串项到Item项index后
.insertItems(index,list)
#插入列表或元组元素到Item项index后
.insertSeparator(index)
#插入分隔符到Item项index后
.itemText(index)
#返回Item项index的内容
.removeItem(index)
#删除Item项index
.setCurrentIndex(index)
#设置Item项index为当前选择
.setEditable(True)
#设置选框可编辑
.setEditText(string)
#设置编辑框内容
.setItemText(index,string)
#设置Item项index内容为字符串值