Привет!
Почему после первого нажатия на "++++" добавляется вкладка, но содержимое нет? А если еще раз нажать, то добавится вторая вкладка уже с содержимым.
На саму форму не смотрите, выдернул просто для примера, убрал всё не нужное. Суть при запуске понятна.
import sys
from PyQt5.QtGui import QIcon
from PyQt5 import QtCore, QtWidgets
class mainForm(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.runUi()
def runUi(self):
self.resize(250, 150)
self.move(300, 300)
self.setWindowTitle('Teest!')
self.setMaximumSize(QtCore.QSize(560, 620))
self.setMinimumSize(QtCore.QSize(560, 620))
self.Vlayout = QtWidgets.QVBoxLayout(self)
self.H2layout = QtWidgets.QHBoxLayout()
self.tabWidgets = QtWidgets.QTabWidget(self)
self.tabWidgets.setGeometry(QtCore.QRect(10, 170, 541, 351))
self.H2layout.addWidget(self.tabWidgets)
self.Vlayout.addLayout(self.H2layout)
self.H3layout = QtWidgets.QHBoxLayout()
self.frame = QtWidgets.QFrame(self)
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.H3layout.addWidget(self.frame)
self.Vlayout.addLayout(self.H3layout)
self.buttonAddProject = QtWidgets.QPushButton(self.frame)
self.buttonAddProject.setGeometry(QtCore.QRect(266, 5, 131, 23))
self.buttonAddProject.setText('+++++++++')
self.buttonAddProject.clicked.connect(self.add_project_tab)
self.Vlayout.setStretch(0, 3)
self.Vlayout.setStretch(1, 6)
def add_project_tab(self):
self.tab = QtWidgets.QWidget()
self.tabWidgets.addTab(self.tab, '+1')
self.groupBox_2 = QtWidgets.QGroupBox(self.tab)
self.groupBox_2.setGeometry(QtCore.QRect(10, 0, 511, 101))
self.horizontalLayoutWidget_3 = QtWidgets.QWidget(self.groupBox_2)
self.horizontalLayoutWidget_3.setGeometry(QtCore.QRect(10, 50, 491, 41))
self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget_3)
self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
self.txtLogin = QtWidgets.QLabel(self.horizontalLayoutWidget_3)
self.horizontalLayout_3.addWidget(self.txtLogin)
self.txtLogin.setText('Логин')
self.tabWidgets.setCurrentIndex(self.tabWidgets.indexOf(self.tab))
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
ui = mainForm()
ui.show()
sys.exit(app.exec_())