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

问题描述 投票:0回答:1

[我正在尝试找出在类内部的方法中将变量定义共享到另一个.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函数返回的值

pyqt pyqt5
1个回答
0
投票

这似乎与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函数。某种形式。

我希望这能解决这个问题,但是,如果不确定不确定导入的工作原理(用于从另一个文件初始化类的内容),我建议尝试进行研究。这是我在快速的Google上找到的Beginner's Python Tutorial on importing

© www.soinside.com 2019 - 2024. All rights reserved.