0

WSGI 3.3 および Qt4 アプリケーションで問題が発生しています。QGraphicsScene のアイテムは childItem() メソッドを呼び出せないようです。次のテスト スクリプトは、コマンド ラインから呼び出すとうまく機能しますが、WSGI アプリケーションとして呼び出すと終了しません。この問題は、WSGI v3.3 を使用している場合に発生しますが、古い (2.8) バージョンでは発生しないことに気付きました。

childItems() メソッドがハングしているように見え、アプリケーションが応答しなくなります。

何が起こっているのかについての手がかりはありますか?

from PyQt4.QtGui  import *

import sys
# Show print msgs in apache logs
sys.stdout = sys.stderr

import os
# Allows apache to use DISPLAY. The command "xhost +" could be temporarily required to start Qt applications from the web server
os.environ["DISPLAY"]=":0.0"

QApp = None
def application(environ, start_response):
    global QApp
    status = '200 OK'
    output = 'Hello World!'
    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    qt_test()

    return [output]

def qt_test():
    QApp = QApplication(["TEST"])
    scene = QGraphicsScene()
    obj = QGraphicsRectItem()
    scene.addItem(obj)
    print "EMPTY LIST", obj.childItems()
    obj2 = QGraphicsRectItem()
    obj2.setParentItem(obj)
    print "CHILDREN", obj.childItems()
    print "FINISH"
    return 

if __name__ == "__main__":
    qt_test()

環境 (動作): python 2.6.4、apache 2.2.14、mod-wsgi 2.8、qt 4.6.2、python-qt 4.7.2

環境(問題):python 2.6.6、2.2.16、mod-wsgi 3.3、qt 4.6.3、python-qt 4.7.3

4

1 に答える 1

1

mod_wsgi グループの人々は私に問題を指摘しました:

設定していますか:

WSGIApplicationGroup %{GLOBAL}

Apache構成で。

于 2011-10-26T08:31:38.880 に答える