我正在用Python编写一个GUI应用程序,它使用多个.py脚本。AINA/AINI需要访问的其他类。将各种.py模块导入Ui没有问题_主窗口.py模块,但我似乎无法访问QMainWindow类变量。在
这是我正在尝试的快速伪代码:
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.lineEditScanBarcode.returnPressed.connect(self.LoginAttempt)
def LoginAttempt(self):
self.user_barcode = self.lineEditScanBarcode.text()
从我对类变量的引用所做的阅读中,我得出的结论是,通过上述设置,我应该能够引用其他类中的“user_barcode”变量,如下所示:
^{pr2}$我一直在使用“print”命令来测试它是否正常工作,但收到以下错误:
Attribute Error: type object 'MainWindow' has no attribute 'user_barcode'
有人能看到我明显犯的错误吗?我已经搜索过类似的查询,但没有找到任何相关的内容。在
谢谢!在
编辑:
这是应用程序执行_()设置,我不确定是否正确传递了父对象。在
if __name__ == '__main__':
app = QApplication(sys.argv)
showMainWindow = MainWindow()
showReceipt = Receipt(MainWindow)
showMainWindow.show()
app.exec_()
我尝试过各种组合,但要么收到init错误,要么是引发的TypeError。在
示例代码不起作用的原因是MainWindow是一个类,而user_barcode是该类的实例的属性。在
对于访问user_barcode属性的收据,它必须以某种方式使MainWindow实例可用。其中一种方法是将主窗口设置为收据的父窗口。在
这将允许收据使用parent method访问主窗口实例及其属性。当然,这意味着收据必须始终有一个主窗口作为它的父窗口,因此它的构造函数应该看起来更像这样:
相关问题 更多 >
编程相关推荐