Russian Qt Forum

Qt => Вопросы новичков => Тема начата: vladimirse от Декабрь 23, 2016, 16:32



Название: Заполнение QCombobox в функции
Отправлено: vladimirse от Декабрь 23, 2016, 16:32
Доброго времени суток, уважаемые!
Подскажите пожалуйста, можно ли в функцию передать объект (по ссылке), к примеру QComboBox, для того, что бы его там заполнить значениями?

Как то так:
Код:
void MyClass::populate_comboBox(QObject &combobox)
{
    Qmap<QString, QString> db_query_result;
    this->database->dbRead(db_query_res, "table_name");
    Qmap<QString, QString>::iterator ii;
    for(ii = db_query_result.begin(); ii != db_query_result.end(); ii++)
    {
        combobox.addItem(ii->second, ii->first);
    }
}

И будет ли это правильно?



Название: Re: Заполнение QCombobox в функции
Отправлено: panAlexey от Декабрь 23, 2016, 18:15
Нет. У QObject нет функции addItem.
Даже не скомпилится.


Название: Re: Заполнение QCombobox в функции
Отправлено: Day от Декабрь 24, 2016, 13:16
А почему не
Код:
void MyClass::populate_comboBox(QComboBox &combobox)


Название: Re: Заполнение QCombobox в функции
Отправлено: vladimirse от Декабрь 27, 2016, 23:35
А почему не
Код:
void MyClass::populate_comboBox(QComboBox &combobox)

Спасибо, я так и сделал. :-)
Вопрос, а правильно ли так поступать?


Название: Re: Заполнение QCombobox в функции
Отправлено: kambala от Декабрь 28, 2016, 00:07
обычно виджеты хранятся в виде указателей, лучше указатель и передавать


Название: Re: Заполнение QCombobox в функции
Отправлено: Day от Декабрь 28, 2016, 12:21
виджеты хранятся в виде указателей
Интересно, как вы себе это представляете. Надеюсь, просто неточность речи? :)


Название: Re: Заполнение QCombobox в функции
Отправлено: kambala от Декабрь 28, 2016, 18:40
естественно, это описание не претендует ни на какую строгость, а всего лишь объяснение на пальцах :)