How to properly pass an infromation/variable across QTabWidgets?

The GUI I am trying to make will be a simple QTabWidget, leading a user straightforwardly towards the end tab by tab.

For now, I have three *.py files –,, In is the main window of the app and function to run the app like this (simplified just to focus on my question):

import tab1
import tab2
import PyQT5.QtWidgets as qtw 

def main():
    app = qtw.QApplication(sys.argv)
    window = MainWindow()

class MainWindow(qtw.QmainWindow):
    def __init__(self):
        self.tabwidget = qtw.QTabWidget()

        self.tab1 = tab1.Tab_1()
        self.tab2 = tab2.Tab_2()

        # This is how I now passing the information from tab1 to tab2

        self.tabwidget.addTab(self.tab1, 'tab1')
        self.tabwidget.addTab(self.tab2, 'tab2')

In the is defined class for a tabwidget which will serve as an input data tab. There is a button to open filedialog, read filename, and write the path into QLineEdit widget:

import PyQT5.QtWidgets as qtw

class Tab_1(qtw.QWidget):
    def __init__(self):
        self.path_line = qtw.QLineEdit()
        self.but = qtw.QPushButton('Open')
    def openfile(self):
        filename, _ = qtw.QFileDialog.getOpenFileName(self, 'Title', 'File types')
        if filename:
            self.path_line.setText('No file was selected!')

Now I want to in another file use the path I got from qtw.OpenFileDialog. So the defined class Tab_2() looks like this:

import PyQt5.QtWidgets as qtw

class Tab_2(qtw.QWidget):
    def __init__(self):

        # Retrieving the information by QLabel widget
        self.path_widget = qtw.QLabel()
        # Transform the information into string variable
        self.path_string = self.path_widget.text()

My question is, is this the proper way to do it? Should I use MainWindow class as a "getter" and "passer" of the information like that or should that be implemented in the tab classes themselves? It works but I do not want to learn to do something bad way and eventually get used to it. I understand classes and their inheritance to some point (a lot of examples of dog classes or employee classes that I understand how it works but in my case I am confused). In combination with GUI, it messing up my head. Also, I want to have each tab as a separate class in a separate *.py file to make it clear and easy to add another one in the future. I see, that it might not be the right way to uses classes but each tab will have a different layout.