2014-09-03 10 views
1

У меня есть один TabWidget a и хочу добавить некоторые вкладки, нажав на кнопку. Но он должен работать какPyQt5 QPushbutton с дополнительными параметрами

Нажмите кнопку «а» -> добавить вкладку с названием «а» и специальный виджет
нажмите кнопку «б» -> добавить вкладку с названием «б» и специальным виджетом

Если я прокомментирую строку с слотом кнопки, все работает хорошо. Также, если я удалю параметр из слота, он также не выдаст сообщение об ошибке.

Но с кодом ниже я получил:

" argument 1 has unexpected type 'NoneType' " 

Это неправильно, чтобы добавить параметр в слот, как я сделал?

Спасибо за ваши ответы

class MainWindow(QtWidgets.QMainWindow): 

    def __init__(self): 
     QtWidgets.QMainWindow.__init__(self) 
     self.ui= uic.loadUi('GUI/mainWindow.ui',self) 

     self.ui.tabWidget.setMovable(True) 
     self.ui.tabWidget.clear() 

     #Slots 
     self.ui.btn_lief.clicked.connect(self.addTab(Lieferschein(),'Lieferschein')) 

    def addTab(self,widget : 'QWidget',name : str): 
     idx = self.ui.tabWidget.currentIndex()+1 
     self.ui.tabWidget.insertTab(idx,widget,name) 
     self.ui.tabWidget.setCurrentIndex(idx) 

ответ

1

Я нашел следующее Link. Он работает, если я использую:

self.ui.btn_lief.clicked.connect(self.addTab(lambda: Lieferschein(),'Lieferschein')) 
Смежные вопросы