在Pyside中没有应用程序的QInputDialog弹出窗口

时间:2017-01-03 15:37:00

标签: python pyside

如何在没有使用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 个答案:

答案 0 :(得分:1)

如果您运行示例,它将打印如下调试消息:QWidget: Must construct a QApplication before a QPaintDevice。所以,显然,这是不可能的。

我猜你要做的就是避免开始事件循环。但是,这不是对话框的问题,因为它们运行自己的事件循环。所以只需在显示对话框之前创建QApplication

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