小编Ale*_*tof的帖子

WPF文本框TAB空间

有谁知道如何控制WPF文​​本框中显示的TAB字符的空格数?我可以看到默认值为8,但没有找到任何属性来更改它.

c# wpf

5
推荐指数
1
解决办法
4636
查看次数

Q_DECLARE_METATYPE是一个boost :: multi_array

我试图使用Qt的信号和插槽机制传递一个表示为boost :: multi_array的多维数组.我尝试使用以下代码声明元类型:

Q_DECLARE_METATYPE(boost::multi_array<double, 2>)
Run Code Online (Sandbox Code Playgroud)

但是我得到以下编译错误(在MSVC 2015上):

path\to\project\metatypes.h(7): error C2976: 'boost::multi_array': too few template arguments
..\..\ml_project\boost-libs\include\boost/multi_array.hpp(111): note: see declaration of 'boost::multi_array'
path\to\project\metatypes.h(7): error C2332: 'enum': missing tag name
path\to\project\metatypes.h(7): error C2065: 'Defined': undeclared identifier
path\to\project\metatypes.h(7): error C2143: syntax error: missing '>' before ';'
path\to\project\metatypes.h(7): error C2059: syntax error: '>'
path\to\project\metatypes.h(7): error C2976: 'QMetaTypeId': too few template arguments
c:\qt\qt-everywhere-opensource-src-5.5.0\qtbase\include\qtcore\../../src/corelib/kernel/qmetatype.h(1576): note: see declaration of 'QMetaTypeId'
path\to\project\metatypes.h(7): error C2913: explicit specialization; 'QMetaTypeId' is not a specialization of a class template
..\..\ml_project\boost-libs\include\boost/multi_array.hpp(111): note: see …
Run Code Online (Sandbox Code Playgroud)

c++ qt boost

5
推荐指数
1
解决办法
372
查看次数

如何向量化这个使用二维间接索引的 PyTorch 片段?

我有一段使用循环实现的代码,但我无法以矢量化方式实现。

for b in range(B):
    for i in range(M - 1):
        for j in range(i + 1, M):
            interaction = (vectors[b, fields[b, i], fields[b, j], :] * vectors[b, fields[b, j], fields[b, i], :]).sum()
            pairwise[b] += interaction
Run Code Online (Sandbox Code Playgroud)

fields是一个 BxM 数组,vectors是一个 BxMxMxD 数组。结果pairwise应该是大小为 B 的数组。我认为聚集/分散会有所帮助,但它们仅支持一维索引。有没有有效的方法来实现呢?

即使没有完全矢量化,仅沿 B 维度进行矢量化就已经很好了。

更新

这是以矢量化方式进行的初步尝试,但它仍然非常慢:

comb_indices = torch.tril_indices(M, M, -1)
components = torch.arange(D, device=vectors.device).view(1, 1, -1)
batches = torch.arange(B, device=vectors.device).view(-1, 1, 1)


this_indices = fields[:, comb_indices[0, :]]
that_indices = fields[:, comb_indices[1, :]] …
Run Code Online (Sandbox Code Playgroud)

pytorch

5
推荐指数
1
解决办法
102
查看次数

菜单作为棱镜区域+主题问题

我使用Menu控件作为区域.它工作正常,但是当我向我的应用程序添加一个主题时(向我的App.xaml添加了一个资源字典),普通菜单有主题,但我所在区域内的视图(菜单项)没有这个主题.

它背后的原因可能是什么?任何人都有一个解决方案的想法?

亚历克斯.

wpf prism

3
推荐指数
1
解决办法
2759
查看次数

使控件对命中测试可见,但拖放是透明的

我有一个ItemsControl,它将项目显示为折线,并具有透明背景.我想让这个控件作为一个drop-target隐藏(这样它下面的控件可以接收拖放事件),但我确实想让它可以进行命中测试,这样我就可以点击折线并执行操作在他们.

我找到了IsHitTestVisible属性.但是,它启用或禁用拖放和命中测试.是否有任何方法可以使控件"不可见",就像一个可能的放置目标,但让它在命中测试和鼠标事件中可见?

谢谢.

更新

我最终发现一个ItemsControl,即使它的背景是透明的,也会以某种方式隐藏鼠标事件下面的元素.所以问题不在于拖放.你知道我怎么能让它真的透明,让它下面的项目有鼠标事件?

c# wpf

3
推荐指数
1
解决办法
2754
查看次数

可区分的正交向量

有没有人知道一个简单且可微分的函数,它将3D矢量转换u = (x, y, z)为另一个正交的矢量u.

更确切地说,我正在寻找三个可微​​函数{f, g, h},使得向量u = (x, y, z)是正交的,v = (f(x,y,z), g(x,y,z), h(x,y,z))并且v仅当为零时才u为零.

功能{f, g, h}应尽可能简单.我更喜欢它们是线性的,但我认为不存在这样的线性函数.低次多项式也很好.

PS我找到了这样的函数,但它们不是多项式.例如:

f(x, y, z) = y*(exp(x) + 3) - z*(exp(x) + 2)
g(x, y, z) = z*(exp(x) + 1) - x*(exp(x) + 3)
h(x, y, z) = x*(exp(x) + 2) - y*(exp(x) + 1)
Run Code Online (Sandbox Code Playgroud)

它只是(x,y,z)与(exp(x)+ 1,exp(x)+2,exp(x)+3)的叉积.它满足除多项式之外的所有要求.但它们很简单.

math 3d

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

标签 统计

wpf ×3

c# ×2

3d ×1

boost ×1

c++ ×1

math ×1

prism ×1

pytorch ×1

qt ×1