【发布时间】:2012-01-31 12:30:11
【问题描述】:
您好,您想用等于QSpinBox 中设置的变量的项目数填充QCombobox
当将 QSpinbox 值更改为 N 时,组合框应显示相同数量的选项,编号从 0 到 N。
是否可以使用QObject::connect 来做到这一点
【问题讨论】:
标签: c++ qt combobox signals-slots qspinbox
您好,您想用等于QSpinBox 中设置的变量的项目数填充QCombobox
当将 QSpinbox 值更改为 N 时,组合框应显示相同数量的选项,编号从 0 到 N。
是否可以使用QObject::connect 来做到这一点
【问题讨论】:
标签: c++ qt combobox signals-slots qspinbox
您可以使用信号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 ()),然后使用循环创建与插槽中从信号接收的整数指定的项目数相同的项目。
【讨论】: