在python和Pyqt5中访问另一个类中的类方法和类变量

在python和Pyqt5中访问另一个类中的类方法和类变量,python,pyqt5,Python,Pyqt5,因此,我创建了两个屏幕,一个用于登录,另一个用于显示内容。对于login类,我定义了3个方法auth()、_get()和getAllSheets()。如果登录成功,则关闭登录类并打开MainApp类。我想在MainApp类中使用getAllSheets方法,因此我实例化了lalpha=Login(),并调用了data=lalpha.getAllSheets(),但我发现了一个错误,即请求因错误而失败 将代码附加为主app.py import statement ui,_ = loadUiTy

因此,我创建了两个屏幕,一个用于登录,另一个用于显示内容。对于login类,我定义了3个方法auth()、_get()和getAllSheets()。如果登录成功,则关闭登录类并打开MainApp类。我想在MainApp类中使用getAllSheets方法,因此我实例化了
lalpha=Login()
,并调用了
data=lalpha.getAllSheets()
,但我发现了一个错误,即
请求因错误而失败

将代码附加为主app.py

import statement

ui,_ =  loadUiType('main-app.ui')
login,_= loadUiType('login.ui')
config = ConfigParser()

class Login(QMainWindow, login):
    def __init__(self):

        QMainWindow.__init__(self)
        config.read("confignew.ini")
        config.sections()

        self.setupUi(self)
        self.auth()
        self.Handle_UiChanges()

    def Handle_UiChanges(self):
        self.lineEdit_1.setText(config.get("app", "app_user_name"))
        self.lineEdit_2.setText(config.get("app", "app_proxy_domain"))
        self.lineEdit_3.setText(config.get("app-token", "app_secret_key"))
        self.lineEdit_4.setText(config.get("app-excel-sheet","app_excel_sheet_token"))

    
    def auth(self):
        self.docid = config.get("app-excel-sheet", "app_excel_sheet_token")
        self.catalog_url= "https://core.*****.com/appid"
        self.user =  config.get("app", "app_user_name")
        self.pass_word =  str(self.lineEdit_5.text())
        self.domain =  config.get("app", "app_proxy_domain")
        self.token =  config.get("app-token", "app_secret_key")
        self.string=  "https://{}:{}@{}".format(self.user, self.pass_word,self.domain)
        self.proxy_one =  {"https": self.string}

    def _get(self, service_url):
        url =  self.catalog_url +service_url
        headers ={"content-type" : "application/json" "authorization" : "Bearer" + self.token}
        try:
            response =  requests.request("POST", url, data= data_json, headers =headers, proxies = self.proxy_one)
            return response.json()
        except json.decoder.JSONDecodeError:
            return response.text
        except requests.exceptions.RequestException as e:
            messsagebox.showerror(title= "Error", message = "Request Failed")
            return "Error"
    
    def getAllSheets(self):
        service_url =  'api/region/v1' + self.docid
        response =  self._get(service_url)
        return response


    def load_content(self):

        dicti =  self.getAllSheets()
        if type(dicti) == dict:
            self.window2 =  MainApp()
            self.close()
            self.window2.show()
        else:
            print("ERRor ")
    

class MainApp(QMainWindow, ui):
    def __init__(self):
        QMainWindow.__init__(self)
        self.setupUi(self)
        self.Handle_UiChanges()
        self.Handle_ButtonChanges()

    
    def Handle_UiChanges(self):
        lalpha =  Login()
        data =  lalpha.getAllSheets()
        print(data)
        new_excel_sheet_id = self.lineEdit_7.text()
        lalpha.docid =  new_excel_sheet_id
        data_new = lalpha.getAllSheets()

        print(data_new)

        self.textEdit_3.setText(data_new)
    


def main():
    app =  QApplication(sys.argv)
    win =  Login()
    win.show()
    app.exec_()

if __name__ == "__main__":
    main()





我还想知道我使用class方法
def Handle\u UiChanges()
更新MainApp类中的class变量
self.docid
的方法是否正确