我在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)
谁知道出了什么问题?
下面的示例是关于类的依赖注入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) 我有一个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表达式来实现同样的目的?
我正在使用Silverlight 4数据表并尝试使用内置的添加按钮在我的集合中创建一个新项目.它工作正常,除了我有许多需要在幕后设置的属性.我已经尝试连接可能看起来的事件,例如AddingNewItem但是新项目在那时是只读的,我无法设置属性.
是否有使用Silverlight 4数据表添加新项目的技巧?
我一直希望能够使用下面的行,但C#编译器不会让我.对我而言,我想要的东西似乎显而易见且毫不含糊.
myString.Trim({'[', ']'});
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方法实现我的目标:
myString.Trim(new char[]{'[', ']'});
Run Code Online (Sandbox Code Playgroud)
所以我不知道有没有其他方法可以做到更接近第一种方法?
我的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) arrays ×1
c# ×1
dataform ×1
linq-to-sql ×1
maya ×1
pseudocode ×1
pyqt ×1
pyside ×1
python ×1
ruby ×1