2012-01-31 4 views
0

Привет хотел бы заполнить QCombobox с числом элементов, которая равна переменным набор в QSpinBoxКак создать Qt COMBOBOX

При изменении значения для N QSpinbox, то выпадающие должен показать такое же количество варианты пронумерованных от 0 до N.

можно ли это сделать с QObject::connect

ответ

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()), а затем использовать цикл, в котором вы создаете много элементов, как указано на целое число, то вы получили в слоте от вашего сигнала.

+0

Спасибо, это работает! Большое спасибо! – linello

+0

Без проблем, linello. Не стесняйтесь спрашивать или принимать ответ, чтобы пометить вопрос как решенный. – Exa