<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>[Python] MayaのUI作成が面倒くせーーーーー へのコメント</title>
	<atom:link href="http://blog.taikomatsu.com/2008/11/12/python-maya%e3%81%aeui%e4%bd%9c%e6%88%90%e3%81%8c%e9%9d%a2%e5%80%92%e3%81%8f%e3%81%9b%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.taikomatsu.com/2008/11/12/python-maya%e3%81%aeui%e4%bd%9c%e6%88%90%e3%81%8c%e9%9d%a2%e5%80%92%e3%81%8f%e3%81%9b%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc/</link>
	<description>a cg blog</description>
	<lastBuildDate>Fri, 06 Jan 2012 02:21:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>tai より</title>
		<link>http://blog.taikomatsu.com/2008/11/12/python-maya%e3%81%aeui%e4%bd%9c%e6%88%90%e3%81%8c%e9%9d%a2%e5%80%92%e3%81%8f%e3%81%9b%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc/comment-page-1/#comment-937</link>
		<dc:creator>tai</dc:creator>
		<pubDate>Sat, 15 Nov 2008 05:32:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.taikomatsu.com/?p=796#comment-937</guid>
		<description>＞inagakiさん
&gt; もともと別のスクリプトで使ってた関数だった～
あーーー、なるほど。納得しました。
ありがとうございますーっ。</description>
		<content:encoded><![CDATA[<p>＞inagakiさん<br />
&gt; もともと別のスクリプトで使ってた関数だった～<br />
あーーー、なるほど。納得しました。<br />
ありがとうございますーっ。</p>
]]></content:encoded>
	</item>
	<item>
		<title>inagaki より</title>
		<link>http://blog.taikomatsu.com/2008/11/12/python-maya%e3%81%aeui%e4%bd%9c%e6%88%90%e3%81%8c%e9%9d%a2%e5%80%92%e3%81%8f%e3%81%9b%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc/comment-page-1/#comment-936</link>
		<dc:creator>inagaki</dc:creator>
		<pubDate>Sat, 15 Nov 2008 03:46:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.taikomatsu.com/?p=796#comment-936</guid>
		<description>setCtrlsValueとgetCtrlsValueはもともと別のスクリプトで使ってた関数だったので、そのまま関数として使っただけです。別にUiCtrlクラスのメソッドにしてもよかったんですよ。
ルームメイトにも同じこと聞かれて、やっぱメソッドにしとけば良かったかなと思いつつも、自分は他でも使ってるし関数でいいかなと判断しました。

さすがにすべてのUIコントロールでちゃんと動作するかチェックしたわけではないので、問題なく使えるかは少し微妙なところです。（笑）</description>
		<content:encoded><![CDATA[<p>setCtrlsValueとgetCtrlsValueはもともと別のスクリプトで使ってた関数だったので、そのまま関数として使っただけです。別にUiCtrlクラスのメソッドにしてもよかったんですよ。<br />
ルームメイトにも同じこと聞かれて、やっぱメソッドにしとけば良かったかなと思いつつも、自分は他でも使ってるし関数でいいかなと判断しました。</p>
<p>さすがにすべてのUIコントロールでちゃんと動作するかチェックしたわけではないので、問題なく使えるかは少し微妙なところです。（笑）</p>
]]></content:encoded>
	</item>
	<item>
		<title>tai より</title>
		<link>http://blog.taikomatsu.com/2008/11/12/python-maya%e3%81%aeui%e4%bd%9c%e6%88%90%e3%81%8c%e9%9d%a2%e5%80%92%e3%81%8f%e3%81%9b%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc/comment-page-1/#comment-933</link>
		<dc:creator>tai</dc:creator>
		<pubDate>Sat, 15 Nov 2008 01:27:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.taikomatsu.com/?p=796#comment-933</guid>
		<description>＞ inagakiさん
おっ、さすがです。
コード拝見します。

にしてもなんというURLｗｗｗ &lt; mayapython.com

なるほど。stringぶった切って判別してるんですね。
eval多くなるのは確かにちょっと嫌ですが、でもコードとしてはさっくり書けていい感じですね！

そしてこれ見てて疑問に思った点があるんですが、質問してもいいですか？
本題とは違っちゃうんですが、、、

UiCtrlの中で使っている関数(setCtrlsValue, getCtrlsValue)はクラスメソッドじゃないみたいなんですが、これって何か理由があるんですか？

よろしくおねがいしますーっ。</description>
		<content:encoded><![CDATA[<p>＞ inagakiさん<br />
おっ、さすがです。<br />
コード拝見します。</p>
<p>にしてもなんというURLｗｗｗ &lt; mayapython.com</p>
<p>なるほど。stringぶった切って判別してるんですね。<br />
eval多くなるのは確かにちょっと嫌ですが、でもコードとしてはさっくり書けていい感じですね！</p>
<p>そしてこれ見てて疑問に思った点があるんですが、質問してもいいですか？<br />
本題とは違っちゃうんですが、、、</p>
<p>UiCtrlの中で使っている関数(setCtrlsValue, getCtrlsValue)はクラスメソッドじゃないみたいなんですが、これって何か理由があるんですか？</p>
<p>よろしくおねがいしますーっ。</p>
]]></content:encoded>
	</item>
	<item>
		<title>inagaki より</title>
		<link>http://blog.taikomatsu.com/2008/11/12/python-maya%e3%81%aeui%e4%bd%9c%e6%88%90%e3%81%8c%e9%9d%a2%e5%80%92%e3%81%8f%e3%81%9b%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc/comment-page-1/#comment-931</link>
		<dc:creator>inagaki</dc:creator>
		<pubDate>Fri, 14 Nov 2008 15:52:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.taikomatsu.com/?p=796#comment-931</guid>
		<description>自分のスクリプト内に似たようなことをしてる部分があったので、改造して簡易的なUIコントロールクラスを作ってみました。大量にevalがあってcode的にはキモイですけど。
以下の自前のwebサイトにcodeを貼り付けておきました。

http://www.mayapython.com/viewtopic.php?f=6&amp;t=12

こんな感じで使えます。
tx = UiCtrl(&quot;mc.textField(&#039;textFieldName&#039;, text=&#039;text&#039;)&quot;)
print tx.get()
tx.set(&#039;newText&#039;)

get や set する値の種類をUIコントロールごとに固定しちゃってるんで、ちょっと微妙ですが・・・

あとUiCtrl Classに渡すのがstringってのもいやだったんですが、UIコントロールの名前からタイプを判別する簡単な方法が見つからなかったので、仕方なくそうなっています。</description>
		<content:encoded><![CDATA[<p>自分のスクリプト内に似たようなことをしてる部分があったので、改造して簡易的なUIコントロールクラスを作ってみました。大量にevalがあってcode的にはキモイですけど。<br />
以下の自前のwebサイトにcodeを貼り付けておきました。</p>
<p><a href="http://www.mayapython.com/viewtopic.php?f=6&#038;t=12" rel="nofollow">http://www.mayapython.com/viewtopic.php?f=6&#038;t=12</a></p>
<p>こんな感じで使えます。<br />
tx = UiCtrl(&#8220;mc.textField(&#8216;textFieldName&#8217;, text=&#8217;text&#8217;)&#8221;)<br />
print tx.get()<br />
tx.set(&#8216;newText&#8217;)</p>
<p>get や set する値の種類をUIコントロールごとに固定しちゃってるんで、ちょっと微妙ですが・・・</p>
<p>あとUiCtrl Classに渡すのがstringってのもいやだったんですが、UIコントロールの名前からタイプを判別する簡単な方法が見つからなかったので、仕方なくそうなっています。</p>
]]></content:encoded>
	</item>
	<item>
		<title>tai より</title>
		<link>http://blog.taikomatsu.com/2008/11/12/python-maya%e3%81%aeui%e4%bd%9c%e6%88%90%e3%81%8c%e9%9d%a2%e5%80%92%e3%81%8f%e3%81%9b%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc/comment-page-1/#comment-925</link>
		<dc:creator>tai</dc:creator>
		<pubDate>Fri, 14 Nov 2008 04:15:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.taikomatsu.com/?p=796#comment-925</guid>
		<description>＞hohehohe2さん
&gt; なにせ作るのが面倒ですよねー、適当に作るとバグの元になるし。
腰が重いのはこれが一番の原因ですね、、
適当に作れるなら作ってもいいとは思うんですが、、
そういうわけにも、、

&gt; new style class～
あぁぁぁぁぁ、これがそうなんですか。
なんか存在だけは知ってたんですが、まぁいいか、と思ってスルーしてました・・・ｗ
非常に興味あるので、自分でももうちょい調べてみます。
大変参考になりました。ありがとうございます！</description>
		<content:encoded><![CDATA[<p>＞hohehohe2さん<br />
&gt; なにせ作るのが面倒ですよねー、適当に作るとバグの元になるし。<br />
腰が重いのはこれが一番の原因ですね、、<br />
適当に作れるなら作ってもいいとは思うんですが、、<br />
そういうわけにも、、</p>
<p>&gt; new style class～<br />
あぁぁぁぁぁ、これがそうなんですか。<br />
なんか存在だけは知ってたんですが、まぁいいか、と思ってスルーしてました・・・ｗ<br />
非常に興味あるので、自分でももうちょい調べてみます。<br />
大変参考になりました。ありがとうございます！</p>
]]></content:encoded>
	</item>
	<item>
		<title>hohehohe2 より</title>
		<link>http://blog.taikomatsu.com/2008/11/12/python-maya%e3%81%aeui%e4%bd%9c%e6%88%90%e3%81%8c%e9%9d%a2%e5%80%92%e3%81%8f%e3%81%9b%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc/comment-page-1/#comment-923</link>
		<dc:creator>hohehohe2</dc:creator>
		<pubDate>Thu, 13 Nov 2008 01:03:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.taikomatsu.com/?p=796#comment-923</guid>
		<description>&gt; それはそれで非常に面倒ですし、、
&gt; ある程度そういうの作った方が良いかなぁなんて考えてます。

スクリプトは他の会社と共有したりあんまりしないんで別に構わないと思いますが、なにせ作るのが面倒ですよねー、適当に作るとバグの元になるし。


&gt; 他のパッケージのPythonAPI見てると、やっぱりうーんって思ってしまいます・・・

HOMいいですよね。


&gt; が、一つお聞きしていいですか？

new style classと言ってPython2.2から採用されたもので、object継承するかどうかでオブジェクト内部の実装が大違いになるんです、外見は違わないように似せているんでそんなに変わらないんですが。具体的にはobjectなしのものはclass-instanceとは別の概念としてtypeというものがPythonの言語実装の為にあったんですが（「classオブジェクトはclassobjタイプ、3.14はfloatタイプ」というように）new style classはclassとtypeが統一された、って言語作ってる人が一番うれしいことでユーザーはそんなに・・・って意見が多いですがnew style classでのみ使える機能もあるんで自分はこっちに統一してます。利点の一つはpropertyが使えるようになることです。</description>
		<content:encoded><![CDATA[<p>&gt; それはそれで非常に面倒ですし、、<br />
&gt; ある程度そういうの作った方が良いかなぁなんて考えてます。</p>
<p>スクリプトは他の会社と共有したりあんまりしないんで別に構わないと思いますが、なにせ作るのが面倒ですよねー、適当に作るとバグの元になるし。</p>
<p>&gt; 他のパッケージのPythonAPI見てると、やっぱりうーんって思ってしまいます・・・</p>
<p>HOMいいですよね。</p>
<p>&gt; が、一つお聞きしていいですか？</p>
<p>new style classと言ってPython2.2から採用されたもので、object継承するかどうかでオブジェクト内部の実装が大違いになるんです、外見は違わないように似せているんでそんなに変わらないんですが。具体的にはobjectなしのものはclass-instanceとは別の概念としてtypeというものがPythonの言語実装の為にあったんですが（「classオブジェクトはclassobjタイプ、3.14はfloatタイプ」というように）new style classはclassとtypeが統一された、って言語作ってる人が一番うれしいことでユーザーはそんなに・・・って意見が多いですがnew style classでのみ使える機能もあるんで自分はこっちに統一してます。利点の一つはpropertyが使えるようになることです。</p>
]]></content:encoded>
	</item>
	<item>
		<title>tai より</title>
		<link>http://blog.taikomatsu.com/2008/11/12/python-maya%e3%81%aeui%e4%bd%9c%e6%88%90%e3%81%8c%e9%9d%a2%e5%80%92%e3%81%8f%e3%81%9b%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc/comment-page-1/#comment-922</link>
		<dc:creator>tai</dc:creator>
		<pubDate>Thu, 13 Nov 2008 00:25:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.taikomatsu.com/?p=796#comment-922</guid>
		<description>＞hohehohe2さん
&gt; MayaのPythonはMELやAPIの薄いwrapなんで一部の人に嫌われてる所以です。
嫌ってますｗｗｗ
でも仰る通り、大変な労力だと言うのもわかるので、こういう作りなのもまぁまぁ、、とは思うんですが、他のパッケージのPythonAPI見てると、やっぱりうーんって思ってしまいます・・・
MELよりもOpenMayaの方が、元々C++なだけあってオブジェクト指向な感じだとは思うんですが、スクリプトの中でフルにそっち使っちゃうのもそれはそれで非常に面倒ですし、、

&gt; 自分でクラスを作って思い通りのインターフェイスを作ってる所もあります
やっぱりそうなりますよね。
ある程度そういうの作った方が良いかなぁなんて考えてます。
サンプルのソース、非常に参考になります！
が、一つお聞きしていいですか？
myCtrlの方でobjectを継承してるんですが、これって何か意味有るんですか？
現状僕は、

class myCtrl:
&#160;&#160;...

と宣言しちゃってるんですが、何か違いってあるんですかね。
よろしくどうぞ。</description>
		<content:encoded><![CDATA[<p>＞hohehohe2さん<br />
&gt; MayaのPythonはMELやAPIの薄いwrapなんで一部の人に嫌われてる所以です。<br />
嫌ってますｗｗｗ<br />
でも仰る通り、大変な労力だと言うのもわかるので、こういう作りなのもまぁまぁ、、とは思うんですが、他のパッケージのPythonAPI見てると、やっぱりうーんって思ってしまいます・・・<br />
MELよりもOpenMayaの方が、元々C++なだけあってオブジェクト指向な感じだとは思うんですが、スクリプトの中でフルにそっち使っちゃうのもそれはそれで非常に面倒ですし、、</p>
<p>&gt; 自分でクラスを作って思い通りのインターフェイスを作ってる所もあります<br />
やっぱりそうなりますよね。<br />
ある程度そういうの作った方が良いかなぁなんて考えてます。<br />
サンプルのソース、非常に参考になります！<br />
が、一つお聞きしていいですか？<br />
myCtrlの方でobjectを継承してるんですが、これって何か意味有るんですか？<br />
現状僕は、</p>
<p>class myCtrl:<br />
&nbsp;&nbsp;&#8230;</p>
<p>と宣言しちゃってるんですが、何か違いってあるんですかね。<br />
よろしくどうぞ。</p>
]]></content:encoded>
	</item>
	<item>
		<title>hohehohe2 より</title>
		<link>http://blog.taikomatsu.com/2008/11/12/python-maya%e3%81%aeui%e4%bd%9c%e6%88%90%e3%81%8c%e9%9d%a2%e5%80%92%e3%81%8f%e3%81%9b%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc%e3%83%bc/comment-page-1/#comment-921</link>
		<dc:creator>hohehohe2</dc:creator>
		<pubDate>Wed, 12 Nov 2008 16:23:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.taikomatsu.com/?p=796#comment-921</guid>
		<description>MayaのPythonはMELやAPIの薄いwrapなんで一部の人に嫌われてる所以です。個人的にはドキュメント別個に管理する労力が半端じゃないので仕方がないのかなあとも思いますが。自分でクラスを作って思い通りのインターフェイスを作ってる所もあります、適当ですがこんな感じ。

class myCtrl(object):
  def __init__(self, ctrl):
    self.ctrl = ctrl
  def get(self):
    raise NotImplementedError
  ...

class myTextField(myCtrl):
  def __init__(self, tf):
    super(myCtrl, self).__init__(tf)
  def get(self):
    return cmds.textField(self.ctrl, q=True, tx=True)</description>
		<content:encoded><![CDATA[<p>MayaのPythonはMELやAPIの薄いwrapなんで一部の人に嫌われてる所以です。個人的にはドキュメント別個に管理する労力が半端じゃないので仕方がないのかなあとも思いますが。自分でクラスを作って思い通りのインターフェイスを作ってる所もあります、適当ですがこんな感じ。</p>
<p>class myCtrl(object):<br />
  def __init__(self, ctrl):<br />
    self.ctrl = ctrl<br />
  def get(self):<br />
    raise NotImplementedError<br />
  &#8230;</p>
<p>class myTextField(myCtrl):<br />
  def __init__(self, tf):<br />
    super(myCtrl, self).__init__(tf)<br />
  def get(self):<br />
    return cmds.textField(self.ctrl, q=True, tx=True)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

