[我正在尝试找出在类内部的方法中将变量定义共享到另一个.py文件的方法。确切的问题是,我正在尝试检查复选框是否为勾号,并且根据状态,它可以将布尔值或整数返回不同的python文件。有人可以帮我解决这个问题吗?
gui.py
class Window(QMainWindow):
def __init__(self):
super().__init__()
#code.....
self.f_obj = QtWidgets.QCheckBox(self)
self.f_obj.setGeometry(QtCore.QRect(170, 120, 81, 20))
self.f_obj.stateChanged.connect(self.obj)
def obj(self, checked):
if checked:
val = True
else:
val = False
self.value = val
def ret(self):
return value
file.py
在file.py中获取通过ret函数返回的值
这似乎与python /通用编码有点误解,而不是专门针对pyqt。我将尝试通过一般的编码示例将其清除,希望对您有所帮助。
说我们有两个文件:A.py
和B.py
。 A.py
包含类foo
,B.py
包含fi
。如果fi
需要访问foo
的方法或属性,则需要引用foo
对象。
A.py:
class foo():
def get_something(self):
return self.something
B.py:
class fi():
def __init__(self, foo_object):
self.foo_object = foo_object
def do_something(self):
self.foo_object.get_something()
您可以看到,fi
仅需要引用已初始化的foo
对象,即可调用foo
具有的功能。
但是,您将其作为从主窗口向另一个类发送信息的一部分提到,因此这不是最佳方法。主窗口(foo
)应该引用另一个类(fi
),并且在您的示例中调用ret
函数时,主窗口应该使用对另一个类的引用来调用setter函数。某种形式。
我希望这能解决这个问题,但是,如果不确定不确定导入的工作原理(用于从另一个文件初始化类的内容),我建议尝试进行研究。这是我在快速的Google上找到的Beginner's Python Tutorial on importing。