2014-09-03 95 views
1

我有一個TabWidget a想要通過點擊按鈕添加一些標籤。但它應該像帶額外參數的PyQt5 QPush按鈕

點擊按鈕「是」 - >添加標籤標題爲「A」和一個特殊的小部件
點擊按鈕「B」 - >標題爲「b」和一個特殊的小工具添加標籤

如果我用按鈕的插槽註釋掉所有行,所有行都正常。另外,如果我從插槽中刪除參數,它也不會給出錯誤信息。

但隨着我下面的代碼有:

" 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'))