PyQt - comboBox和/或lineEdit值作为subProcess.call参数

时间:2014-02-14 22:18:42

标签: python-2.7 combobox subprocess pyqt4 qlineedit

我是Python和Qt4的新手,并且在使用用户输入/选择的信息然后将它们用作其他python文件的参数时遇到了一些问题。这是两种情况&代码:

  1. 用户在lineEdit框中输入ID#,单击按钮,程序将运行一个脚本,其中ID#作为参数输入。例如,ID#= 11503,按钮点击:programname.py 11503将运行。这种工作,但在ID中的每个数字之间放置空格,我不知道它是否是最干净的方式来做我想要的。
  2. ID#进程按钮SIGNAL:

        QtCore.QObject.connect(self.ui.pushButton_2, QtCore.SIGNAL('clicked()'), self.processID)
    

    SIGNAL称之为:

    def processID(self):
        import subprocess
        from PyQt4 import QtCore, QtGui
        rawID = (self.ui.lineEdit.text())
        idList = []
        for x in rawID:
            idList.append(str(x))
        subprocess.call(["Python" "programname.py"] + idList, shell=True)
    
    1. 与上面几乎相同的情况,但“programname.py”脚本所需的一个参数是文件目录。我有一个comboBox填充目录的名称,但不能让它采取选择并将其作为参数打印。这是代码:
    2. Combobox目录人口

          import glob, os
          myList = sorted(glob.glob('C:\\Python27\\test_directories\\*'))
          new_myList = []
          for x in myList:
              new_myList.append(os.path.basename(x))
          self.ui.comboBox_4.addItems(new_myList)
      

      目录组合框SIGNAL

          self.ui.comboBox_4.activated[str].connect(self.Directory)
      

      我将一个不同的按钮连接到comboBox并尝试复制我对lineEdit所做的操作,但它根本不起作用。但是,我可以使用下面的代码打印用户选择,因此它的功能正常,而不是我想要的方式。

      目录组合框选择打印测试

      def Directory(self, item):
          print(item)
      

      非常感谢任何帮助。 (如果你在这篇长篇文章中一路走来,谢谢!)

0 个答案:

没有答案