小编sip*_*wiz的帖子

如何使用PySide获取maya主窗口指针?

我在maya中使用了PyQt4,通常我发现切换到PySide很容易,但是我无法获得指向主窗口的指针.也许有人可以理解出了什么问题.

这是我在PyQt4中所做的:

import sip, PyQt4.QtCore
import maya.OpenMayaUI as mui
ptr = mui.MQtUtil.mainWindow()
parent = sip.wrapinstance(long(ptr), PyQt4.QtCore.QObject)
Run Code Online (Sandbox Code Playgroud)

这很好用.当我在PySide中尝试相同时:

import sip, PySide.QtCore
import maya.OpenMayaUI as mui
ptr = mui.MQtUtil.mainWindow()
parent = sip.wrapinstance(long(ptr), PySide.QtCore.QObject)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

# Error: wrapinstance() argument 2 must be sip.wrappertype, not Shiboken.ObjectType
# Traceback (most recent call last):
#   File "<maya console>", line 4, in <module>
# TypeError: wrapinstance() argument 2 must be sip.wrappertype, not Shiboken.ObjectType # 
Run Code Online (Sandbox Code Playgroud)

谁知道出了什么问题?

python pyqt maya pyside

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

从容器中获取对象和依赖注入的示例?

下面的示例是关于类的依赖注入Worker吗?该Worker班没有获得ITool从属性setter或构造函数实例,而是被从容器中取出呢?

public MainClass {

    static void Main(string[] args) {
        ITool someTool = new Tool();
        MyContainer.Register<ITool>(someTool);
    }
}

public class MyContainer {

    private WindsorContainer container;

    public MyContainer() {
        container = new WindsorContainer();
    }

    public static T Resolve<T>() {
        return container.Resolve<T>();
    }

    public static void Register<T>(object instance) {
        container.Kernel.AddComponentInstance(typeof(T).ToString(), typeof(T), instance);
    }
}

public class Worker {

    public DoSomeWork() {
        ITool tool = MyContainer.Resolve<ITool>();
        tool.DoTheWork();
    } 
}
Run Code Online (Sandbox Code Playgroud)

design-patterns dependency-injection

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

Linq-to-SQL表达式从文本列获取最大数值

我有一个nvarchar SQL列,主要包含数值.我正在尝试提出一个L2S表达式,它可以获取最大数值而忽略任何非数字值.

执行此任务的SQL是:

select top 1 value from identifier where and patindex('%[^0-9]%', value) = 0 order by CAST(value AS INT) desc
Run Code Online (Sandbox Code Playgroud)

我可以使用什么LINQ表达式来实现同样的目的?

linq-to-sql

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

Silverlight 4数据表添加新项

我正在使用Silverlight 4数据表并尝试使用内置的添加按钮在我的集合中创建一个新项目.它工作正常,除了我有许多需要在幕后设置的属性.我已经尝试连接可能看起来的事件,例如AddingNewItem但是新项目在那时是只读的,我无法设置属性.

是否有使用Silverlight 4数据表添加新项目的技巧?

dataform silverlight-4.0

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

c#中的极简主义数组创建

我一直希望能够使用下面的行,但C#编译器不会让我.对我而言,我想要的东西似乎显而易见且毫不含糊.

myString.Trim({'[', ']'});
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法实现我的目标:

myString.Trim(new char[]{'[', ']'});
Run Code Online (Sandbox Code Playgroud)

所以我不知道有没有其他方法可以做到更接近第一种方法?

c# arrays

0
推荐指数
2
解决办法
458
查看次数

Ruby代码翻译请求

我的Ruby语法知识可以忽略不计,并且希望有人能够将下面的函数转换为伪代码,并可能提供一个如何调用它的示例?

def in_list(num, list) 
   list = [*list] 
   list.each {|a,b| return (b)? num.sub(a,b) : a if num =~ a} 
   nil 
end
Run Code Online (Sandbox Code Playgroud)

ruby pseudocode

0
推荐指数
1
解决办法
874
查看次数