我想创建一个小工具,它将读取文件夹中的所有 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_())
有任何想法吗?
谢谢,尼克