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

Posted

技术标签:

【中文标题】我们如何在按钮单击时在 pyqt 中打开特定于选项卡的选项卡?【英文标题】:How can we open a tab specific tab in pyqt on button click? 【发布时间】:2017-09-25 07:01:13 【问题描述】:

我使用 qt Designer 在我的设计页面中制作了 10 个选项卡,并在其顶部制作了一个菜单栏。 现在我想将菜单栏中的选项之一连接到选项卡(比如选项卡 5)。 即当我点击菜单->按钮时tab5被打开

【问题讨论】:

【参考方案1】:

要打开一个标签你必须使用QTabWidgetsetCurrentIndex()方法,这个方法你必须指明索引。每次触发与菜单的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)

【讨论】:

这工作了谢谢,但我还有一些事情要做。我有标签里面的标签,我想在按钮点击后导航到标签5,现在我想在tab5里面的tab2..你能帮我解决这个问题吗?很抱歉我现在正在扩展我的问题:) 缺少什么? 显示您的代码以便更好地理解,我知道通过单击按钮访问 tab5,如我在示例中所示,您要在哪个操作之前选择嵌套的 tab2? self.Add_GroupD.triggered.connect(lambda : self.tabWidget_4.setCurrentIndex(4)) self.Add_GroupD.triggered.connect(lambda : self.tabs.setCurrentIndex(1)) 是的,我想准确地转到嵌套的 tab2。你有比这更好的主意吗?

以上是关于我们如何在按钮单击时在 pyqt 中打开特定于选项卡的选项卡?的主要内容,如果未能解决你的问题,请参考以下文章

单击 HTML 按钮时在新浏览器选项卡中打开 URL

单击按钮时在共享首选项中保存时间戳

PyQt5,单击按钮后如何打开新窗口

pyqt designer tabletree表格内容显示全

如何在单击 CF7 提交按钮时在弹出窗口中显示 grecaptcha?

Pyqt5右键单击并在新选项卡中打开