问题标签 [model-view]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 如何按型号设置 QTableView 列的宽度?
我正在使用QTableView
一个子类QAbstractTableModel
作为它的模型。通过实现data()
和headerdata()
在子类模型中,可以控制表的许多属性,如数据、标题值、字体等。
就我而言,我希望模型设置每个表格列的宽度。如何才能做到这一点?
qt - 测试 QAbstractListModels
我想测试一些我已经实现的 QAbstractListModels,是使用 Qt 实验室的 ModelTest 还是使用 QTestLib 进行我自己的单元测试更好。也有人能指出我实际上 ModelTest 做了什么以及如何使用它或除此之外的一个很好的教程
qt - 带有用于查看文件系统的复选框的 QListView
有必要在 QListView 中通过图标和复选框按给定路径列出目录,然后将标记文件夹的名称传输到程序。对于列表目录,我使用代码:
按下按钮后如何添加复选框并传输?
谢谢。
qml - ListView 突出显示项目未显示
我试图在 ListView 中突出显示当前选定的项目。下面是我正在使用的代码;出于某种原因,虽然类似的代码在此应用程序的另一个 ListView 中完美运行,但此处的 SelectedRectangle 项从未显示,尽管所选项目应更改时。
选定矩形.qml
解决方案: deviceTreeDelegate 中的矩形默认为白色,并与选择矩形重叠。使用该属性将其设置为透明,以便可以看到选择。
qt - Qt中List和Hash的结合
我需要一个数据结构,其中每个元素都有一个特定的索引,但也可以使用一个键来检索。
我需要 Qt 中模型视图编程的数据结构。一方面,视图请求特定行中的元素。另一方面,模型想要插入和修改具有给定键的元素。这两个操作都应该在 O(1) 中运行。
这是我想要的一个例子:
视图看到以下内容:
模型看到:
我的想法如下:我有一个QList<Value>
和一个QHash<Key, Value*>
. 哈希指向列表中存储相应元素的位置。这是插入/编辑值的代码:
问题是这段代码并不总是有效。有时它按预期工作,但碰巧数据结构不再一致。
我怀疑,这是因为 QList 通过内存移动它的内容,因为它分配了新的空间或类似的东西。
重要的操作(应该在预期的 O(1) 中运行):
- 插入键/值对(将值附加到列表的末尾)
- 使用键查找和修改值
- 使用索引查找和修改值
其他必须可能但不必在恒定运行时间内可能的操作:
- 按索引删除元素
- 按键删除元素
- 在数组中间插入
- 交换数组/排序数组中的元素
- 获取键的索引
我的两个问题是:
- 是否有任何数据结构可以满足我的要求?
- 如果没有,我该如何解决这个问题或有更好的方法?
object - 如何将一个 modelAndView 对象添加到另一个 ModelAndView 对象
如何将一个 modelAndView 对象添加到另一个 ModelAndView 对象。就像我有一个 ModelAndView 对象 mv1 并且我想将另一个 modelandview 对象 mv2 值添加到 mv1.can 我使用mv1.addObject("mv1",mv2);
qt - 正确跟踪源模型行移动是否是 QSortFilterProxyModel 合同的一部分?
假设我有一个源模型,其中行运动装饰有
(因此发出layoutChanged()
)。
然后,设置了一个QSortFilterProxyModel实例来过滤源模型的行。当我从源代码中得到它时,源模型布局的更改会导致代理模型的相应重新调整(因为它会监听layoutChanged()
信号并正确调整自身)。
但文档只说:
注意:默认情况下,模型不会在原始模型更改时动态重新排序和重新过滤数据。可以通过设置 dynamicSortFilter 属性来更改此行为。
dynamicSortFilter : bool 此属性保存代理模型是否在源模型的内容发生变化时动态排序和过滤。
我的问题:
- (1)“每当原始模型更改时”是否包括“在原始模型中移动行时”
- (2) 如果是,代理模型中的项目顺序是否保证与源模型中的相同,以及
- (3)有没有人在开发中依赖上述行为的经验?
- (4) [额外问题]如果我尝试在 QSortFilterProxyModel 子类中跟踪源模型的行 (AboutToBe)Moved 信号并在那里调用 beginMoveRows/endMoveRows (使用适当映射的行索引),我是否正确,这会弄乱代理,因为在处理 onLayoutChanged 源模型的信号时,beginMoveRows/endMoveRows 调用将尝试调整已由 QSortFilterProxyModel 调整的持久索引?
谢谢。
android - 如何在 Android 中使用 presentModalViewController?
目前我在 Android 应用程序中工作,在 iphone 应用程序中使用 presentModalViewController 在屏幕上从下到上动画视图,类似地在 Android 应用程序中,如何在 Android 中使用 presentModalViewController 控件?可以添加这个吗?我参考了互联网,但我只有 MVC 模式,所以请帮助我。
提前致谢
在 iPhone 应用程序中使用 presentModalViewController:
qt - 图像中的“噪音”
我使用 Qt 创建数据文件托管应用程序。我使用对话框模型视图 QTreeView 来显示树结构。在 Win# 上它工作正常。在 Linux 上,有时我会收到以下“噪音”:
http://imageshack.us/photo/my-images/268/bugloader.jpg/
仅当用户打开多个(超过 4 个)扩展级别时才会显示噪音。任何人都可以帮助我吗?
matrix - OpenGL ES2.0 Modelview 矩阵 2D
从 OpenGL ES1.1 迁移到 2.0 用于 2D 目的(正交),我在弄清楚如何应用转换(矩阵乘法顺序)时遇到了一些麻烦。我只需要在 Z 轴上旋转,并在 X 和 Y 上缩放,这始终是相同的值,所以这应该会大大简化事情。我当前的完美方法(ES1.1)有一个虚拟相机,与对象位于相同的绝对坐标空间中。
在每一帧的开始,我首先通过调用
对于对象,它看起来像这样(省略纹理和绘图调用)。
我试图在 ES2.0 中获得同样的功能,但是所有的矩阵运算都必须手动执行。
从这个链接我发现乘法的正确顺序应该是((Scale * Rotation) * Translation)
之后我想出了一个结合所有这些的单一矩阵公式,因为 2D 更简单。我还包括了一个正交投影矩阵。对于测试着色器,我有这个:
对于每个自由度,它的工作原理都是如此。但是,我无法弄清楚如何合并相机。着色器中矩阵的乘法顺序与 gl 调用的顺序不匹配,因此我不确定如何将相机调用转换为乘法。起初我还试图为相机计算一个单独的变换矩阵,并像这样设置最终位置:
无论相机矩阵本身的顺序如何,我都认为这是不正确的(我尝试了多种方法,但都没有正确)。我相信所有相机和对象模型视图转换都必须编译成一个模型视图矩阵(每个矩阵乘以最后一个,从相机转换开始,然后是对象,但显然是按特定顺序)。这种操作顺序是我感到困惑的地方,尤其是因为它与 ES1.1 中的正常工作不匹配。
有人可以解释正确的顺序,以及为什么 gl 调用与实际乘法不同吗?