python中提供怎样的内置库、可以用来创建用户界面_使用外部GUI库在Autodesk中创建用户界面可能会...
我不确定这是否有关联,但一些谷歌搜索发现PyQt在玛雅内部非常流行。您可以尝试使用here或here(用源代码解释了here)通过Maya创建一个新的线程循环并在其中执行。似乎Maya包含了一个模块,用于设置新的线程对象,其中包含一个QApplication:def initializePumpThread():global pumpedThreadglobal appif pumpedThrea
我不确定这是否有关联,但一些谷歌搜索发现PyQt在玛雅内部非常流行。您可以尝试使用here或here(用源代码解释了here)通过Maya创建一个新的线程循环并在其中执行。似乎Maya包含了一个模块,用于设置新的线程对象,其中包含一个QApplication:def initializePumpThread():
global pumpedThread
global app
if pumpedThread == None:
app = QtGui.QApplication(sys.argv)
pumpedThread = threading.Thread(target = pumpQt, args = ())
pumpedThread.start()
然后设置一个函数来处理Qt事件:
^{pr2}$
您也可以使用wxPython执行类似的操作。(utils.executeDeferred是一个Maya函数。)请务必查看如何在wxpythonwiki上创建non-blocking GUI。而不是processEvents(),您需要设置一个事件循环,并检查(是否重命名?)中的“挂起”事件上述泵功能。(wxPython源代码有一个Python implementation的主循环)近似收益率()功能,但我不确定。在def pumpWx():
global app
def processor():
app.Yield(True)
while 1:
time.sleep(0.01)
utils.executeDeferred( processor )
def initializePumpThread():
global pumpedThread
global app
if pumpedThread == None:
app = wx.App(False)
pumpedThread = threading.Thread(target = pumpWx, args = ())
pumpedThread.start()
最好使用wxPython文档indicate SafeYield()。再一次,这似乎是第一步,但我不确定它是否会奏效,而不仅仅是可怕的崩溃。(有一些关于你想在wxPython mailing list上做什么的讨论,但是它来自wx之前的一些小版本。)在各种论坛上也有一些迹象表明这种技术会导致键盘输入出现问题。您也可以尝试:def processor():
while app.Pending(): app.Dispatch()
处理当前事件列表。在
祝你好运!在
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)