我有一些变量名称字符串,最初必须是字符串(由于文件IO) 这些变量对应的变量是PyQt4小部件的变量名,嵌入两个类中。
我需要将这些字符串转换为实际的变量名,以便在函数中使用它们 (有点像你是一个数字的字符串)
这是代码(显示疯狂级别)
第一个文件
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 Designer)生成的python代码的格式
第二个文件的最后两行是麻烦。 我收到错误消息“Ui_MainWindow()没有属性'X'”。
我不知道该去哪里,除了尝试'eval'。 我尝试了诸如......之类的东西。
X = self.ui.eval("VariableName")
这提示错误“Ui_MainWindow()没有属性'eval'
X = eval("VariableName")
“未定义VariableName”
X = "VariableName"
eval(self.ui.X.Function())
“Ui_MainWindow()没有属性'X'”
我可以使用任何和所有帮助来解决这个问题! 我觉得eval让我更接近了一步,但使用这些嵌套类会抑制它!
HALP'?!
详情:
- Python 2.7.1
- Windows 7(32位)
- IDLE 1.8
- PyQt4
- Qt Designer