У меня есть несколько строк имен переменных, которые изначально должны быть строками (из-за файлового ввода-вывода).
Переменные, которым они соответствуют, являются именами переменных виджетов 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()
Некоторые могут признать это как формат кода Python, сгенерированного Pyuic4 (Qt Designer)
Последние две строки Второго файла - это проблема.
Я получаю сообщение об ошибке «Ui_MainWindow () не имеет атрибута« X »».
Я понятия не имел, куда идти с этим, кроме попытки с «eval».
Я пробовал такие вещи, как ...
X = self.ui.eval("VariableName")
Это вызвало ошибки "Ui_MainWindow () не имеет атрибута 'eval'
X = eval("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