如何调用另一个文件中的变量并动态更改变量名称? PyQt的

时间:2014-10-23 22:15:37

标签: python pyqt

我有这两个文件,这是我正在尝试做的简化版本:

FILE_1.py:

import FILE_2

class first(QtGui.QWidget):
    def __init__(self):
        ...
        self.gridLayout = QtGui.QGridLayout()
        ...
        self.item1 = second("Apple", 0)
        self.item1.add()
        self.item2 = second("Banana", 1)
        self.item2.add()
        ...

FILE_2.py:

import FILE_1

class second(Object):
    def __init__(self, name, row):
        self.name = name
        self.row = row
    def add(self):
        self.label = QtGui.QLabel(self.name)
        self.gridLayout.addWidget(self.label, self.row, 0)

所以我有两个问题,目前我无法通过。

首先,我无法从class firstclass second调用self.gridLayout。我无法移动self.gridLayout,因为我有第三个和第四个...文件,也需要self.gridLayout。 其次,如何动态更改self.label变量名,以便标签运算符不会在对象之间重叠。

感谢。

1 个答案:

答案 0 :(得分:0)

谢谢大家的帮助,但我最终想出了一个更简单的...我不知道是否更有效率,但工作方法。

我没有使用循环引用,而是从FILE_1传递了我需要的任何变量。

FILE_1:
...
self.item1 = second("Apple", 0 , self.gridLayout)

FILE_2: 
...
def __init__(self, name, row, layout):
    ...
    self.layout = layout
def add(self):
    ...
    self.layout.addWidget(self.name, self.row, 0)

至于我的问题的第二部分,它最终不是一个问题:)