如何在没有使用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()
答案 0 :(得分:1)
如果您运行示例,它将打印如下调试消息:QWidget: Must construct a QApplication before a QPaintDevice
。所以,显然,这是不可能的。
我猜你要做的就是避免开始事件循环。但是,这不是对话框的问题,因为它们运行自己的事件循环。所以只需在显示对话框之前创建QApplication
:
app = QtGui.QApplication(sys.argv)
network_copy()