2

I'm developing a Python script the will run inside an application named QtiPlot. I searched the Qtiplot's documentation for Python API and it uses PyQt 4. I coded my script as bellow:

#! /usr/bin/env python

# A python script to be used in QtiPlot to convert .dat files into .jpg graphs and these ones into .avi movie

import os
import re
import glob
from PyQt4 import uic
from PyQt4 import *

def chooseInputFolder():
    input_folder = QtGui.QFileDialog.getExistingDirectory(qti.app, "Choose Working Folder")
    ui.inputFolderLine.setText(input_folder)
    return input_folder

def chooseOutputFile():
    output_file = QtGui.QFileDialog.getSaveFileName(qti.app, "Choose Output File")
    ui.outputFileLine.setText(output_file)
    return output_file

def createVideoFromJPG():
    input_folder_name = ui.inputFolderLine.text()
    output_file_name = ui.outputFileLine.text()
    dirList = os.listdir(input_folder_name)
    for fname in dirList:
        t = newTable()
        t.importASCII(input_folder_name+fname,sep="\t",ignoreLines=0,renameCols=False,stripSpaces=True,simplifySpace=False,importComments=False,comment="#",readOnly=False,importAs=Table.Overwrite,locale=QLocale(),endLine=0,maxRows=-1)
#       g = plot(t, 2, 0)
#       cmd = 'mencoder "mf://*.jpg" -mf fps=25 -o %s -ovc lavc -lavcopts vcodec=mpeg4' % output_file
#       os.system(cmd)

ui = uic.loadUi("/home/kurumin/Scripts/python/dat2vid.ui")
ui.connect(ui.inputFolderButton, QtCore.SIGNAL("clicked()"),chooseInputFolder)
ui.connect(ui.outputFileButton, QtCore.SIGNAL("clicked()"),chooseOutputFile)
ui.connect(ui.createVideo, QtCore.SIGNAL("clicked()"),createVideoFromJPG)
ui.show()

And this is the output:

Traceback (most recent call last):

File "<>", line 27, in createVideoFromJPG

NameError
: 
global name 'QLocale' is not defined

I tried to define QLocale but I couldn't find anything really useful at the documentation.

darkchet
  • 21
  • 2

1 Answers1

1

Replace locale=QLocale() for locale=QtGui.QLocale() in line 27 of your file, because of from PyQt4 import * you must supply the module name..