我有这两个文件,这是我正在尝试做的简化版本:
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 first
到class second
调用self.gridLayout。我无法移动self.gridLayout,因为我有第三个和第四个...文件,也需要self.gridLayout。
其次,如何动态更改self.label变量名,以便标签运算符不会在对象之间重叠。
感谢。
答案 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)
至于我的问题的第二部分,它最终不是一个问题:)