将字符串解释为变量名(涉及的类)-Python
我有一些变量名称字符串,它们最初必须是字符串(由于文件IO)。将字符串解释为变量名(涉及的类)-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
这些对应的变量是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