I cannot get access to attribut self.horizontalLayout_Base in class Ui_MainWindow where I want add new widgets.
There is :
- Main class MainWindow which inherits class Ui_MainWindow.
- Class Ui_MainWindow creates layout.
- Class Dialog provides additional information and confirmation or cancellation.
Main class MainWindow calls class Dialog. Class Dialog is queried and then the method tableWidget in class MainWindow is called. But there is not access to attribut self.horizontalLayout_Base which was creating by class Ui_MainWindow.
Is there any way to get access?
Main class MainWindow
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, *args, obj=None, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
...
self.setupUi(self)
...
def tableWidget(self):
if len(list) > 0:
row = len(list)
clmn = len(list[0])
self.tableWidget = QTableWidget(row, clmn + 1)
else:
return
self.vbox = QVBoxLayout()
...
Ui_MainWindow.gridLayout_Base.addLayout(self.vbox) # Here I want to get access
Layout class Ui_MainWindow
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1110, 772)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
MainWindow.setSizePolicy(sizePolicy)
self.centralwidget = QtWidgets.QWidget(MainWindow)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth())
self.centralwidget.setSizePolicy(sizePolicy)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.horizontalLayout_Base = QtWidgets.QHBoxLayout() # This is target
...
Class Dialog
class Dialog(QDialog):
NumGridRows = 3
NumButtons = 4
def __init__(self, souradnice):
super(Dialog, self).__init__()
...
def buttonAccepted(self):
...
MainWindow.tableWidget(self)
self.close()