小编ixM*_*ixM的帖子

如何在Qt中将QVariant转换为QString,反之亦然?

如何将QVariant转换为QString,反之亦然?

谢谢

c++ qt

29
推荐指数
1
解决办法
4万
查看次数

带有自定义类的QtScript instanceof会抛出与原型相关的错误

我有一个Qt项目,它使用QtScript模块使我的应用程序的某些组件可编写脚本.

在多次尝试使现有类直接在QtScript中可用之后,我选择使用继承QObject和QScriptable的包装类(主要是因为我有一些非qobject派生类,这些类是由其他人继承的,它们是否继承QObject,它是因此我不可能统一对待我所有的课程).

我现在正在尝试使用基于原型的继承.

我必须有类DrawableMeshDrawable相应的包装器Wrapper_DrawableWrapper_MeshDrawable.MeshDrawable继承DrawableWrapper_MeshDrawable继承Wrapper_Drawable.

我让脚本引擎(m_scriptEngine)都知道这两个类:

Wrapper_Drawable* wrapper_drawable = new Wrapper_Drawable();
QScriptValue wrapper_drawable_obj = m_scriptEngine->newQObject(wrapper_drawable);
m_scriptEngine->setDefaultPrototype(qMetaTypeId<Wrapper_Drawable*>(),
                                    wrapper_drawable_obj);

Wrapper_MeshDrawable* wrapper_meshDrawable = new Wrapper_MeshDrawable();
QScriptValue wrapper_meshDrawable_obj = m_scriptEngine->newQObject(wrapper_meshDrawable);
m_scriptEngine->setDefaultPrototype(qMetaTypeId<Wrapper_MeshDrawable*>(),
                                    wrapper_meshDrawable_obj);
Run Code Online (Sandbox Code Playgroud)

如果我没有弄错,那么doc说脚本引擎会将原型应用于Wrapper_Drawable类型的对象,Wrapper_MeshDrawable因为它们在C++中具有继承关系.

我有一个方法Wrapper_Drawable::drawables(),它返回一个Wrapper_Drawable(实际上是包含在其中的Drawable的子节点Wrapper_Drawable)的所有子节点.作为Drawable一个抽象类,所有孩子实际上都是MeshDrawables.

因为我希望用户"相信"他使用Drawables而不是Wrapper_Drawables,我已经声明:

m_scriptEngine->globalObject().setProperty("Drawable", wrapper_drawable_obj);
Run Code Online (Sandbox Code Playgroud)

上面声明了wrapper_drawable_obj.


我想测试引擎是否识别Wrapper_MeshDrawables,即使它们是在一个Wrapper_Drawables 数组中声明的.

curChildren = myDrawable.drawables()[0];
print(curChildren instanceof …
Run Code Online (Sandbox Code Playgroud)

c++ qt ecma262 qtscript

26
推荐指数
1
解决办法
1349
查看次数

对DefaultRowSorter进行子类化以允许树表排序

这个问题中,我问如何使JXTreeTable(SwingX)排序成为它的首要元素.

我接过一看库(aephyr)所建议mKorbel,并试图将其与JXTreeTable结合(我创建了一个名为JXSortableTreeTable类新复制JXTreeTable的源代码).

到目前为止,我能够实现一种机制来对树表的节点进行排序,即当convertRowIndexToModel调用我的自定义排序器(见下文)时,它返回的索引是正确的.

因此,我有一个看起来像这样的类:

public class TreeTableRowSorter <M extends TreeTableModelAdapter> extends DefaultRowSorter {
    private M treeTableModel; // model
    private List<Integer> indices; // list where each entry is the model index
    private IdentityHashMap<Object, NodeSorter> sorters;

    private class IndicesMapFiller { // class that fills the "map" this.indices
        public void fillIndicesMap(Object node) { // recursive
            // Fills the indices "map"
        }
    }

    @Override
    public int convertRowIndexToModel(int index) {
        return indices.get(index);
    }

    @Override
    public int convertRowIndexToView(int …
Run Code Online (Sandbox Code Playgroud)

java swing swingx treetable jxtreetable

16
推荐指数
1
解决办法
2288
查看次数

如何使JXTreeTable排序其顶级元素

我知道(我已查看过这些来源;))已禁用JXTreeTable上的排序.

但是,我想仅允许根据根节点的直接子节点的值对所有列进行排序.

说我有这样的结构:

Name       / Date       / File UID
(Root)
|- Mr. X   / 1996/10/22 / AE123F6D
|--- File1 / 2012/01/10 / DFC2345Q
|--- File2 / 2012/01/11 / D321FEC6
|- Mrs. Y  / 1975/03/03 / G2GF35EZ
|--- File3 / 2012/02/29 / 35GERR32
|--- File4 / 2012/01/22 / LKJY2342
.
.
.
Run Code Online (Sandbox Code Playgroud)

我想要实现的是仅在第一级节点上对3列进行排序.假设我想按升序日期对其进行排序,它最终会像这样:

Name       / Date       / File UID
(Root)
|- Mrs. Y  / 1975/03/03 / G2GF35EZ
|--- File3 / 2012/02/29 / 35GERR32
|--- File4 / 2012/01/22 / LKJY2342
|- Mr. …
Run Code Online (Sandbox Code Playgroud)

java swing jtable swingx jxtreetable

8
推荐指数
1
解决办法
3907
查看次数

在Qt中渲染OpenGL场景并将其传输到HTML5界面

我想知道是否有可能在Qt中渲染OpenGL场景并实时将其流式传输到HTML5界面(我的意思是场景是在现场生成的).

我一直试图找到有关它的信息以及如何做到但我没有成功......

如果存在,是否存在任何类型的现有机制来压缩图像并优化带宽使用.我正在考虑像Citrix这样的解决方案,但使用HTML5客户端.

opengl html5 qt

6
推荐指数
3
解决办法
3026
查看次数

为什么Python中不允许使用0填充?

我刚刚注意到Python中不允许使用0-padding,我想知道为什么选择这个选项?

例如:

a = 09
Run Code Online (Sandbox Code Playgroud)

不起作用

a = 9
Run Code Online (Sandbox Code Playgroud)

怎么样?!

非常感谢您的回答!

python

2
推荐指数
1
解决办法
168
查看次数

标签 统计

qt ×3

c++ ×2

java ×2

jxtreetable ×2

swing ×2

swingx ×2

ecma262 ×1

html5 ×1

jtable ×1

opengl ×1

python ×1

qtscript ×1

treetable ×1