Как создать Qt Combobox - PullRequest
       25

Как создать Qt Combobox

0 голосов
/ 31 января 2012

Привет, хотел бы заполнить QCombobox количеством элементов, равным переменной, установленной в QSpinBox

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

Возможно ли это сделать с помощью QObject::connect

1 Ответ

2 голосов
/ 31 января 2012

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

...