【问题标题】:Can't get python script to recognize PyQt5 MainWindow class from importCan\'t get python script to identify PyQt5 MainWindow class from import
【发布时间】:2022-08-09 15:45:12
【问题描述】:

我正在尝试根据 PyQt 文件中 lineEdit 小部件的数字输入在 python 脚本中设置一个变量。

但是,我无法让 python 脚本识别 Mainwindow 类来调用 Mainwindow 中 \'number\' 模块中的数字。

#main_file

class MainWindow(QtWidgets.QMainWindow):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
   
        
    def number(self):
        # return text value of line edit
        return self.ui.lineEdit.text()
        
        
if __name__ == \'__main__\':
    app = QtWidgets.QApplication([])
    widget = MainWindow()
    widget.show()
    
    app.exec_()
        

import main_file
class Row_number:
    number = 604

    def __repr__(self):
        return repr(self.number)
row_number = Row_number()

def initialize():
    row_number.number = main_file.widget.number
        

我收到此错误

AttributeError: module \'main_file\' has no attribute \'widget\'

我做错了什么?

    标签: python-3.x module pyqt5


    【解决方案1】:

    if __name__ == '__main__': 中的代码仅在从命令行执行文件时才会执行

    if __name__ == '__main__':里面的代码在导入到其他文件时不会被执行,这就是if __name__ == '__main__':这个条件语句的目的

    所以如果你想访问小部件然后将类MainWindow导入到其他文件创建它的实例然后访问它里面的变量

    【讨论】:

      猜你喜欢
      • 2022-11-20
      • 2022-12-27
      • 2022-12-28
      • 2022-12-01
      • 2022-08-04
      • 2022-12-01
      • 2022-12-01
      • 2022-12-28
      • 2022-12-26
      相关资源
      最近更新 更多