2017-01-03 4 views
-1

Pysideを使用して親アプリケーションなしでポップアップQInputDialogを作成するにはどうすればよいですか?PysideのQInputDialogポップアップ

ユーザーがこのPythonファイルをダブルクリックすると、入力ダイアログが表示されます。

import sys 
import os 
from PySide import QtGui, QtCore 

def network_copy(): 

    text, ok = QtGui.QInputDialog.getText(None, 'Test | Network Copy', 'Enter name') 

    if ok and text: 
     print 'Great' 

network_copy() 
+1

なぜ「QApplication」を作成できないのかをより明確に説明できますか? – ekhumoro

答えて

1

例を実行すると、QWidget: Must construct a QApplication before a QPaintDeviceのようなデバッグメッセージが出力されます。だから、明らかに、これはただ不可能です。

あなたがやりたいことは、イベントループを開始する必要がないと思っています。しかし、独自のイベントループを実行するため、これはダイアログの問題ではありません。したがって、ダイアログを表示する前にQApplicationを作成してください:

app = QtGui.QApplication(sys.argv) 
network_copy()