Russian Qt Forum

Qt => Общие вопросы => Тема начата: boobsik от Август 18, 2009, 16:17



Название: QBitArray QVariant::toBitArray()
Отправлено: boobsik от Август 18, 2009, 16:17
можно пример использования этого метода?   :D


Название: Re: QBitArray QVariant::toBitArray()
Отправлено: Пантер от Август 18, 2009, 16:44
А что тебе не понятно?


Название: Re: QBitArray QVariant::toBitArray()
Отправлено: boobsik от Август 18, 2009, 16:46
ну можно рабочий пример?? хочу из qint8 например создать QBitArray ) Главное чтобы вы были уверены, что пример рабочий)


Название: Re: QBitArray QVariant::toBitArray()
Отправлено: denka от Август 18, 2009, 18:19
Через QVariant этого сделать нельзя. Если бы вы читали документацию то подобного вопроса не возникло.

Цитировать
QBitArray QVariant::toBitArray () const
Returns the variant as a QBitArray if the variant has type() BitArray; otherwise returns an empty bit array.

На счет как сделать из qint8 QBitArray. Можно так:
Код:
	qint8 i8 = 0x24;
const int bits = sizeof(i8) * 8;
QBitArray arr(bits);
for (int i = 0; i < bits;++i)
if ((i8 >> i) & 1)
arr.setBit(i);



Название: Re: QBitArray QVariant::toBitArray()
Отправлено: boobsik от Август 18, 2009, 21:37
да, видимо невнимательно читал, спасибо за пример!)


Название: Re: QBitArray QVariant::toBitArray()
Отправлено: boobsik от Август 19, 2009, 20:53
чистый C++ тоже забывать не стоит)
Код
C++ (Qt)
#include <bitset>
std::bitset<8> bs2( (long) 131 );
cout << bs2;


Название: Re: QBitArray QVariant::toBitArray()
Отправлено: SLiDER от Август 22, 2009, 22:35
Товарищ похоже просто не очень хорошо понимает что такое QVariant. QVariant это не универсальный конвертор типов, а полиморфное хранилище, что в него положил то и вынеш, если только на выходе автоматическое приведение не сработает, для вашего случая у QBitArray конструктора ненашлось, неповезло.