- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在创建 QAbstractItemModel
的子类以显示在 QTreeView
中。
我的 index()
和 parent()
函数使用 QAbstractItemModel
继承的函数 创建了
并为其提供所需的QModelIndex
>createIndex行
、列
和数据
。此处,出于测试目的,数据是 Python 字符串。
class TestModel(QAbstractItemModel):
def __init__(self):
QAbstractItemModel.__init__(self)
def index(self, row, column, parent):
if parent.isValid():
return self.createIndex(row, column, "bar")
return self.createIndex(row, column, "foo")
def parent(self, index):
if index.isValid():
if index.data().data() == "bar": <--- NEVER TRUE
return self.createIndex(0, 0, "foo")
return QModelIndex()
def rowCount(self, index):
if index.isValid():
if index.data().data() == "bar": <--- NEVER TRUE
return 0
return 1
def columnCount(self, index):
return 1
def data(self, index, role):
if index.isValid():
return index.data().data() <--- CANNOT DO ANYTHING WITH IT
return "<None>"
在 index()
、parent()
和 data()
函数中,我需要取回我的数据。它以 QVariant
的形式出现。如何从 QVariant 取回我的 Python 对象?
最佳答案
你试过吗?
my_python_object = my_qvariant.toPyObject()
http://pyqt.sourceforge.net/Docs/PyQt4/qvariant.html#toPyObject (只是为了完整性,但那里没有太多可看的......)
关于python - 如何从 PyQt4 中的 QVariant 取回我的 python 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333420/
我的问题是这个。我有不同数字类型的列表,例如: QList mylist; 现在,在我的代码中,我有一个函数需要一个 QVariant 参数,即 mylist。我发现这样做的唯一方法是使用 for c
当我调用下面的函数时它崩溃了 void RequestBuilder::setData(QVariant &data) { this->data=data; } data 包含一个QVaria
我在创建具有自定义类型的 QVariant 时遇到问题。这是一个小例子,展示了我想要实现的目标: 主要.cpp: #include "MyClass.h" int main() { MyClass
我正在编写测试代码,该代码将自动遍历所有 Q_PROPERTY 小部件,并且某些属性使用通过 qRegisterMetaType 注册的类型。如果我想将这些读/写到 QVariant 中,我需要在将它
我正在尝试使用 setProperty(); 将 C++ 对象公开给 QML。这是我的代码的原型(prototype): MyClass.h class MyClass::public QObject
我正在尝试存储 QList在 QVariant然后进行类型检查以确定存储在 QVariant 中的值的确切类型(用于序列化)。 QVariant::type()适用于 int 等标量类型或 QStri
头文件中的声明 QColor dialogBoja, dialogBoja1; .cpp 文件 dialogBoja = postavke.value("boja", Qt::black).toStr
关于 QVariant::type() 的文档说: Returns the storage type of the value stored in the variant. Although this
我正在尝试为 treeView 设置模型,(我的模型类继承自 QAbstractItemModel) CardsTreeModel * myModel=new CardsTreeModel(file.
我试图在 qt 5.1 中为 json 创建一个包装类,我正在研究一个函数,该函数将检查输入的 var 是 QVariantMap 还是只是 QVariant,并且一切正常,直到我进入第二个muli
我正在编写一个词法扫描器,它可以根据某些输入生成标记流。这些 token 具有类型和值。由于我使用的是 Qt,因此我选择将 token 数据存储为 QVariant。这对于非自定义类型的 token
我想知道,QVariant内部如何存储,int,QMap,QList,... 我的意思是内部数据结构/实现是什么?在 QVariant 中存储和检索类型(int、float)的开销是多少? 最佳答案
java 是否有类似于 QVariant 的数据类型,但不使用 java qt 绑定(bind)? 我想要一个 Map ,以便容器中的每个值都可以有不同的数据类型。 JAVA有这个吗? 附注JAVA菜
我有一个名为 Segment 的类,它包含一些 QString 并且打算被子类化。 我创建了一个 std::list 的 Segment 对象,并想将该列表转换为 QVariantList。但这首先要
我有这样一个类层次结构: class Base { ... virtual QWidget* getEditor(); ... } class Derived { ... QWidget* getEd
我有两个这样的类: class Foo { public: Foo(int i) : _i(i) {} int _i; }; Q_DECLARE_METATYPE(Foo*) class
更新 我创建了一个 qt bugticket希望文档得到扩展。 原始问题 相信 Question from 2010和 Qt Documentation , operator==() 不适用于自定义类
我需要使用 QList作为 std::unordered_map 的关键.这样做的目的是通过在唯一键列上建立索引来优化对数据表的搜索。 所以我写了这段代码。它并不完整,但列出了表键列中出现的一些基本数
我有这样的类(class): class QObjectDerived : public QObject { Q_OBJECT // ... }; Q_DECLARE_METATYPE
我需要使用QQmlContext::setContextProperty()在qml中分配一个指向自定义类的指针。另一个qml对象具有相同类型的Q_PROPERTY以再次检索它。 一个简单的测试告诉我
我是一名优秀的程序员,十分优秀!