我正在使用带有DonJayamanne python扩展的visual studio代码.它运行正常,但我希望有一个像Matlab中的交互式会话,在代码执行后,每个定义和计算结果都保留在控制台中并可访问.
例如,运行此代码后:
a = 1
Run Code Online (Sandbox Code Playgroud)
python会话终止,我不能在控制台中键入如下内容:
b = a + 1
print(b)
Run Code Online (Sandbox Code Playgroud)
我知道python会话可以使用"-i"标志保持活动状态.但这根本行不通.
每次运行代码文件时,都会生成一个新的python进程.有没有办法在一个控制台中运行连续运行?再次像Matlab一样?
这对我来说听起来非常重要和微不足道.我错过了一些我无法找到解决方案的东西吗?
我正在使用QTreeView向用户显示一些数据.我想要的是将实际对象附加到使用表示的每个节点QStandardItem.
要将对象引用保存到QStandardItem:
QStandardItem *child = new QStandardItem(s);
child->setFlags(child->flags() & ~Qt::ItemIsEditable);
child->setData(QVariant(QVariant::UserType, i), Qt::UserRole + 10);
Run Code Online (Sandbox Code Playgroud)
要在UI中单击它时访问实际对象:
void MyOtherClass::handleTreeViewSelectionChanged(const QModelIndex &i)
{
MyClass* o = i.data(Qt::UserRole + 10).value<MyClass*>();
// do other stuff with o
}
Run Code Online (Sandbox Code Playgroud)
上面的调用只是返回NULL.有谁知道如何处理这样的要求?
我在网上发现绝对没用.
任何帮助将受到高度赞赏.