带有附加参数的PyQt5 QPushbutton

时间:2014-09-03 09:30:39

标签: python pyqt5

我有一个TabWidget a想要通过点击按钮添加一些标签。但它应该像

一样工作

点击按钮“a” - >添加标题为“a”的Tab和特殊小部件
点击按钮“b” - >添加标题为“b”的Tab和一个特殊的小部件

如果我用按钮的插槽注释掉线,一切都运行良好。此外,如果我从插槽中删除参数,它也不会给出错误消息。

但是下面的代码我得到了:

" 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 个答案:

答案 0 :(得分:1)

我找到了以下Link。如果我使用它,它可以工作:

self.ui.btn_lief.clicked.connect(self.addTab(lambda: Lieferschein(),'Lieferschein'))