QComboBox用法小结

fromComboBox = QComboBox() 添加一个 combobox
fromComboBox.addItem(rates) 添加一个下拉选项
fromComboBox.addItems([“%d years” % x for x in range(2, 26)]) 从序列中添加
fromComboBox.setMaxVisibleItems(10) #设置最大显示下列项 超过要使用滚动条拖拉
fromComboBox.setMaxCount(5) #设置最大下拉项 超过将不显示
fromComboBox.setInsertPolicy(QComboBox.InsertAfterCurrent) #设置插入方式
插入方式有:NoInsert,InsertAtTop,InsertAtCurrent,InsertAtBottom,InsertAfterCurrent
InsertBeforeCurrent,InsertAlphabetically
字面意思都好理解 最后一个是按字母表顺序插入
QComboBox 发出一个currentIndexChanged(int) 的信号.
QComboBox 得到当前项 currentIndex() + 1 #QComboBox 默认的currentIndex为 -1
setCurrentIndex可以来设置当前的项
QVariant QComboBox::itemData ( int index, int role = Qt::UserRole ) const 返回给定index处的数据
QComboBox.findText(‘dsfds’) #返回 内容为dsfds的索引
QComboBox.setEditText()设置下拉列表要显示的可编辑内容
QComboBox 得到当前项文本内容 currentText()

fromSpinBox = QDoubleSpinBox()

fromSpinBox.setRange(0.01, 10000000.00)
fromSpinBox.setSuffix(" %d") #设置后缀 如显示 10.0%d
fromSpinBox.setPrefix(‘#d’) #设置前缀
fromSpinBox.setValue(1.00) 设置值
QDoubleSpinBox 发出 valueChanged(double) 信号 有setValue(double)插槽

当QComboBox当前项发生变化时候,它会发出信号currentIndexChanged(int i),i是改变后当前项的下标,可以编写SLOT来处理

QComboBox插件是一个集按钮和下拉菜单于一体的插件。

QComboBox在占用最小屏幕空间的情况下为用户提供一个下拉菜单选项。

QComboBox在显示当前选项的同时还弹出一系列可选择的项目。用户也可以编辑ComboBox。

ComboBox可以包含pixmap和字符串(insertItem和setItemText)。对于可编辑的ComboBox,clearEditText可以被用来清除用于显示的字符串而不改变ComboBox的内容。

当ComboBox的当前值改变时可以发出两个信号(currentIndexChanged和activated)。不管是否在程序中预先设定或存在用户交互,currentIndexChanged总会被激发,而activated只有在存在用户交互的时候才会被激发。highlighted信号当用户点亮comboBox下拉菜单时被激发。这三种信号都存在QString和int两个版本。如果用户选择或点击一个pixmap,只有int信号会被激发。当一个可编辑的combobox的出现改变的时候,editTextChanged信号就会被激发。

当用户往一个可编辑的combobox里输入一个新的字符串的时候,combobox插件可以将其插进去或不插进去,而且插件还可以把它插到很多位置。默认的规则是AtBottom,但也可以用setInsertPolicy改变规则。

可以通过QValidator来限制可编辑combobox的输入(setValidator)。默认情况下,所有出入都可以接受。

ComboBox可以用insertItem来添加项目。项目可以用setIemText来改变。一个项目可以用removeItem移除,所有项目可以用clear一起移除。当前项目的内容可以用currentText返回,数字项目的内容可以用text返回。当前项目可以用setCurrentIndex设置。comboBox项目数可以用count返回;项目数的最大值可以用setMaxCount来设置。可以用setEditable使项目可编辑。对于可编辑的combobox,可以用setCompleter来设置自动完成,用户是否可以添加副本可以用过setDuplicatesEnabled来设置。

QComboBox使用model/view架构来显示下拉列表和存储项目。默认情况下,QStandardItemModel存储项目,QLIstView子类显示下拉列表。用户可以访问model和view,但QComboBox也提供了函数来设置和取得数据(setItemData和itemText)。也可以设置一个新的model和view。对于combobox标签的文字和标志来说,使用了拥有Qt::DisplayRole和Qt::DecorationRole的model的数据。