python中提供怎样的内置库、可以用来创建用户界面_使用外部GUI库在Autodesk中创建用户界面可能会...
我不確定這是否有關聯,但一些谷歌搜索發現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()
處理當前事件列表。在
祝你好運!在
總結
以上是生活随笔為你收集整理的python中提供怎样的内置库、可以用来创建用户界面_使用外部GUI库在Autodesk中创建用户界面可能会...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arduino智能浇花系统_arduin
- 下一篇: mysql数值比中文检索快_MySQL