我正在创建一个显示市场数据的应用程序,并以其他形式使用它.我将市场数据存储在地图中
std::map<tickerId, StockData>.让我举一个关于如何使用这个地图的例子.
updatePrice(tickerId, latestPrice)updatePosition(tickerId, price)和updateStockScreen(tickerId, price).此外,从位置更新中分离Gui更新非常重要,因为GUI不是应用程序的主要优势.对有用书籍的一些参考也受到赞赏.
我是新人,并试图通过我的小知识实现太多,所以如果我问过愚蠢/形成错误的问题,请原谅我.
谢谢Shiv
我正在尝试为QTreeView实现QAbstractItemModel.我有插入行的问题.我注意到,如果我在我的应用程序的开头插入一切正常.但是如果我稍后插入行 - 在执行其他操作(如选择等)之后,新项目将保持不可见.而且QTreeView似乎根本不起作用!我是否必须发出一些信号来通知QTreeView有关行插入的信息?
这是我的插入方法:
bool LayersModel::insertRows(int position, int count, const QModelIndex & parent)
{
LayersModelItem * parentItem = getItem(parent);
if (position > parentItem->childCount())
return false;
beginInsertRows(parent,position,position+count-1);
bool result = true;
for (;count;--count)
result &= parentItem->insertChildren(position, new LayersModelItem());
endInsertRows();
return result;
}
Run Code Online (Sandbox Code Playgroud)
LayersModelItem是具有QList及其子项和数据的类.
我的项目的完整代码(需要KDE库)在这里:https: //github.com/coder89/PhotoFramesEditor/tree/v0.0.8 要查看问题,请在主窗口中选择一个蓝色项目,然后右键单击它,选择"删除项目".(这个方法在Canvas :: removeItems())并且它是完整的评论 - 我很绝望,我试图找到这个问题的原因...(事实上它不是删除任何东西 - 它添加了新项目).
感谢您的帮助和建议!