将字符串解释为变量名(涉及的类)-Python

将字符串解释为变量名(涉及的类)-Python,python,class,variables,eval,pyqt4,Python,Class,Variables,Eval,Pyqt4,我有一些变量名称字符串,它们最初必须是字符串(由于文件IO)。 这些对应的变量是PyQt4小部件的变量名,嵌入在两个类中 我需要这些字符串能够转换为实际变量名,以便在函数中使用它们。 (有点像对一个数字字符串进行“int”运算) 下面是代码(显示类疯狂) 第一个文件 class Ui_MainWindow(object): def setupUi(self, MainWindow): self.VariableName = QWidget(whatever) from

我有一些变量名称字符串,它们最初必须是字符串(由于文件IO)。
这些对应的变量是PyQt4小部件的变量名,嵌入在两个类中

我需要这些字符串能够转换为实际变量名,以便在函数中使用它们。
(有点像对一个数字字符串进行“int”运算)

下面是代码(显示类疯狂)

第一个文件

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        self.VariableName = QWidget(whatever)
from FIRST_FILE import Ui_MainWindow

class Start(QtGui.QMainWindow):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
    def ResetDropBoxes(self):
        X = "VariableName"
        self.ui.X.Function()
第二个文件

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        self.VariableName = QWidget(whatever)
from FIRST_FILE import Ui_MainWindow

class Start(QtGui.QMainWindow):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
    def ResetDropBoxes(self):
        X = "VariableName"
        self.ui.X.Function()
有些人可能会认为这是Pyuic4(Qt设计器)生成的python代码的格式

第二个文件的最后两行是问题所在。 我收到错误消息“Ui\u MainWindow()没有属性“X”

我不知道该怎么做,除了一次“eval”的尝试。 我尝试过一些事情,比如

X = self.ui.eval("VariableName")
这会提示错误“Ui_MainWindow()没有“eval”属性”

X = eval("VariableName")
“未定义VariableName”

“Ui_MainWindow()没有属性'X'”


这件事我需要任何人的帮助!
我觉得eval离我更近了一步,但是使用这些嵌套类会抑制它

哈普


详细信息:
-Python 2.7.1
-Windows 7(32位)
-怠速1.8
-PyQt4
-Qt设计器

尝试

getattr(self.ui, VariableName).Function()
有关
getattr
的更多信息,请参见

getattr(self.ui, VariableName).Function()

有关
getattr
的更多信息,请参阅。我爱你!工作完美,将尽快接受。谢谢x 100000我爱你!工作完美,将尽快接受。谢谢x 100000