Russian Qt Forum

Qt => Вопросы новичков => Тема начата: StatuS74 от Май 30, 2011, 08:16



Название: combobox
Отправлено: StatuS74 от Май 30, 2011, 08:16
Код:
ui_m->comboBox->addItems(QString(devInfo[i].Description));

devInfo.Description тип  char

выдает ошибку no matching function for call to

не могу понять почему.ведь комбобокс  хранит тип стринг или текст... подскажите кто сталкивался


Название: Re: combobox
Отправлено: BRE от Май 30, 2011, 08:20
addItems ждет в качестве параметра QStringList, а ты ему передаешь просто QString.


Название: Re: combobox
Отправлено: StatuS74 от Май 30, 2011, 08:30
спасибо


Название: Re: combobox
Отправлено: StatuS74 от Май 30, 2011, 08:39
Код:
DWORD numDevs
lineEdit->text(QString (numDevs));
а тут что не так ? почитал держит тип стринг


Название: Re: combobox
Отправлено: kambala от Май 30, 2011, 09:48
text() - это геттер (без параметров), setText() - сеттер. и для конвертации числа в строку используй QString::number()


Название: Re: combobox
Отправлено: StatuS74 от Май 30, 2011, 10:07
а как потом вывести её мне в эдите ??


Название: Re: combobox
Отправлено: StatuS74 от Май 30, 2011, 10:09
я записал вот так
Код:
ui_m->lineEdit->text(QString::number(numDevs));
но все равно ругается на неё.


Название: Re: combobox
Отправлено: StatuS74 от Май 30, 2011, 10:11
исправил вот так
Код:
ui_m->lineEdit->text()=QString::number(numDevs);



Название: Re: combobox
Отправлено: kambala от Май 30, 2011, 10:13
тебе надо использовать setText() вместо text()


Название: Re: combobox
Отправлено: StatuS74 от Май 30, 2011, 10:38
имеешь в виду вот так ...
Код:
ui_m->lineEdit->setText(QString::number(numDevs));


Название: Re: combobox
Отправлено: StatuS74 от Июнь 01, 2011, 12:17
возник ещё один вопрос по комбобоксам.
начинаю компилировать и на шаге
Код:
ui_m->comboBox->addItems(QStringList(devInfo[i].Description));
программа вылится и говорит ошибка ОС.

devInfo описывается след образом
Код:
typedef struct _ft_device_list_info_node {
ULONG Flags;
ULONG Type;
ULONG ID;
DWORD LocId;
char SerialNumber[16];
char Description[64];
FT_HANDLE ftHandle;
        }       FT_DEVICE_LIST_INFO_NODE;




Название: Re: combobox
Отправлено: Авварон от Июнь 01, 2011, 12:32
еще бы


Название: Re: combobox
Отправлено: StatuS74 от Июнь 01, 2011, 12:34
а в чем ошибка ???


Название: Re: combobox
Отправлено: StatuS74 от Июнь 01, 2011, 14:32
подскажите пожалуста в чем трабла


Название: Re: combobox
Отправлено: LisandreL от Июнь 01, 2011, 14:48
Вы для начала скажите, что в вашем представлении вообще должен делать этот код.

А ошибка скорее всего либо i за пределами массива, либо Description не нультерменированная.


Название: Re: combobox
Отправлено: StatuS74 от Июнь 01, 2011, 14:52
этот код. выводит в комбобокс что то типо ID для каждого устройства подключенного к компу по средствам юусб через определенный драйвер. i это количество устройст в цикли i ++ просиходит


Название: Re: combobox
Отправлено: kambala от Июнь 01, 2011, 15:04
попробуй
Код
C++ (Qt)
ui_m->comboBox->addItems(QStringList(QString(devInfo[i].Description)));


Название: Re: combobox
Отправлено: LisandreL от Июнь 01, 2011, 15:12
попробуй
Код
C++ (Qt)
ui_m->comboBox->addItems(QStringList(QString(devInfo[i].Description)));
Оно и так так же работает.
Если проблема не в i, то реально помочь может
Код
C++ (Qt)
ui_m->comboBox->addItems( QStringList( QByteArray( devInfo[i].Description, 64 ) ) );
но всё равно логичнее добавлять addItem, а не addItems, раз добавляем по 1.


Название: Re: combobox
Отправлено: StatuS74 от Июнь 02, 2011, 06:04
А как это будет выглядит с item. я там в параметрах  запутался. подскажите


Название: Re: combobox
Отправлено: StatuS74 от Июнь 02, 2011, 14:49
проблема исправлена. косяк был совсем не в этом.....я проглядел одну мелочь )