Ton*_*ony 7 qvariant long-integer
我已经意识到QVariant不提供long和的功能unsigned long.它提供转换到int,unsigned int,long long和unsigned long long.
我们可以在当前的桌面架构中找到long并且int是等价的,但它们不是从理论的角度出发的.
如果我想将存储long在QVariant我有义务先转换价值long long.我想知道是否还有其他方法可以解决这个问题.
其次,我有兴趣知道更好/更简单的方法.即使用更简单的代码,并避免使用不必要的空间或指令.
小智 9
很有可能(根据问题标题)topic starter 收到了来自编译器的以下错误消息:
error: conversion from ‘uint64_t {aka long unsigned int}’ to ‘QVariant’ is ambiguous
Run Code Online (Sandbox Code Playgroud)
建议的答案都没有提供简单的解决方案。所以,而不是从一个值的隐式转换,像
QVariant_value = long_unsigned_int_value;
Run Code Online (Sandbox Code Playgroud)
尝试以下操作:
QVariant_value = QVariant::fromValue(long_unsigned_int_value)
Run Code Online (Sandbox Code Playgroud)
这对我有帮助。
如果我想将 a 存储long在 a 中QVariant,我有义务首先将值转换为long long。
QVariant store (unsigned long int input) {
unsigned long long data = (unsigned long long) input;
QVariant qvariant( data );
return qvariant;
}
unsigned long int load (const QVariant& qvariant) {
bool ok;
unsigned long int data = (unsigned long) qvariant.toULongLong(&ok);
if (ok)
return data;
else
return NAN;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7029 次 |
| 最近记录: |