如何创建Qt Combobox

时间:2012-01-31 12:30:12

标签: c++ qt combobox signals-slots qspinbox

您希望在QCombobox中填充一些项目,这些项目等于QSpinBox

中设置的变量

QSpinbox值更改为N时,组合框应显示从0到N编号的相同数量的选项。

是否可以使用QObject::connect

进行此操作

1 个答案:

答案 0 :(得分:2)

您可以使用信号QSpinBox::valueChanged ( int i )

实现自己的类,该类派生自QComboBox并创建一个与信号具有相同签名的插槽。

类似的东西:

public Q_SLOTS:
on_setItemsFromSpinBox( int i );

然后您可以将信号连接到插槽。

connect( m_spinbox,
         SIGNAL(valueChanged(int)),
         m_my_combobox,
         SLOT(on_setItemsFromSpinBox(int)) );

在插槽中清除组合框(QComboBox::clear ()),然后使用一个循环,在该循环中,您可以根据信号从插槽中收到的整数创建任意数量的项目。