我想创建一个小工具,它将读取文件夹中的所有python工具,将它们放在QListWidget中,每当我双击其中一个工具时,它就会运行。
ToolList.py
这是带有工具的主窗口
import sys
import glob
from PySide import QtGui
class List(QtGui.QListWidget):
def __init__(self, parent=None):
super(List, self).__init__(parent)
# Add tools
for f in glob.glob("tool_*.py"):
self.addItem(f)
self.itemDoubleClicked.connect(self.execute_python)
def execute_python(self):
for itm in self.selectedItems():
execfile(itm.text())
if __name__ == '__main__':
app = QtGui.QApplication([])
form = List()
form.show()
sys.exit(app.exec_())
tool_test1.py
当我双击这个时,它会自动消失
import sys
from PySide import QtGui
if __name__ == '__main__':
app = QtGui.QApplication.instance()
but = QtGui.QPushButton()
but.show()
tool_test2.py
当我双击这个时,它崩溃说 QCoreApplication :: exec:事件循环已经在运行
import sys
from PySide import QtGui
if __name__ == '__main__':
app = QtGui.QApplication.instance()
but = QtGui.QPushButton()
but.show()
sys.exit(app.exec_())
有什么想法吗?
谢谢, 尼克