代码之家  ›  专栏  ›  技术社区  ›  Sahil Jain

我们如何在pyqt中单击按钮打开特定于选项卡的选项卡?

  •  2
  • Sahil Jain  · 技术社区  · 8 年前

    现在,我想将菜单栏中的一个选项连接到一个选项卡(例如,选项卡5)。 i、 e.当我点击菜单时->按钮,然后打开选项卡5

    1 回复  |  直到 5 年前
        1
  •  4
  •   eyllanesc    8 年前

    setCurrentIndex() 方法 QTabWidget ,对于此方法,您必须指示索引。每次触发信号与 QAction 菜单的

    class MainWindow(QMainWindow):
        def __init__(self, parent=None):
            QMainWindow.__init__(self, parent)
    
            widget = QTabWidget(self)
            for i in range(10):
                widget.addTab(QListWidget(), "tab{}".format(i+1))
    
            self.setCentralWidget(widget)
    
            menubar = self.menuBar()
            action = menubar.addAction("Select tab5")
            action.triggered.connect(lambda: widget.setCurrentIndex(4))
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        w = MainWindow()
        w.show()
        sys.exit(app.exec_())
    

    加上:

        self.Add_GroupD.triggered.connect(lambda checked, index1=4, index2=1 : self.someslot(index1, index2))
    def someslot(self, index1, index2)
        self.tabWidget_4.setCurrentIndex(index1)
        self.tabs.setCurrentIndex(index2)