Доступ к переменным из другого класса PYTHON - PullRequest
0 голосов
/ 22 октября 2018
class ExampleApp(QtWidgets.QMainWindow, design.Ui_MainWindow):
    def __init__(self):

        super().__init__()
        self.setupUi(self)
        self.connect_mysql.clicked.connect(self.on_click)
        self.dialog = MainMenu()
    def on_click(self):
        try:
            ip = self.ip.text()
            user = self.user.text()
            password = self.password.text()
            port = self.port.text()
            db = self.db.text()
            mydb = mysql.connector.connect(
              host=ip,
              user=user,
              passwd=password,
              database=db
                )
            mycursor = mydb.cursor()
            self.close()
            self.dialog.show()

        except:
            QMessageBox.about(self, "Message", "Something went wrong...")

Я хочу получить доступ к mucursor из другого класса.Возможно ли это сделать?Код закрывает окно и открывает новое окно, куда отправляется запрос mysql.

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Создайте определение, которое получит переменную в классе ExampleApp:

def get_mycursor(self):
    return self.mycursor

Если вы хотите получить доступ к mycursor, чтобы переопределить его, вы также можете сделать функцию set:

def set_mycursor(self, newval):
    self.mycursor = newval
0 голосов
/ 22 октября 2018

Да, это возможно, все атрибуты объекта являются общедоступными в Python.Все, что вам нужно сделать, это сохранить курсор в экземпляре класса:

self.mycursor = mycursor = ...

Затем откуда-то еще,

my_window_instance.mycursor
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...