从 pyqt5 文件到另一个.py文件的变量



我正在尝试找出将类内的方法中的变量定义共享到不同的.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

获取 RET 函数在 file.py 中返回的值

这似乎更接近于对python/通用编码的误解,而不是特定的pyqt。我将尝试使用一般编码示例来清除它,希望这会有所帮助。

假设我们有两个文件:A.pyB.pyA.py包含类fooB.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函数。

我希望这可以解决这个问题,但是,如果您不确定导入的确切工作原理(您将使用什么从另一个文件初始化类(,我建议您尝试研究它。 这是我在快速谷歌上找到的关于导入的初学者 Python 教程。

最新更新