为什么 QTabBar 给我错误的索引号?

Why is QTabBar giving me the wrong index number?

所以我在标签栏中有两个标签。我设置了一个信号,以便在单击时运行一个函数。该函数调用当前索引并打印它。

为什么打印输出给我的是它曾经在但当前不在的页面的索引?

import sys
from PySide2.QtWidgets import *


class Window(QWidget):
    def __init__(self):
        QWidget.__init__(self)

        self.tabs = QTabBar()
        self.tabs.addTab("Main Menu")
        self.tabs.addTab("Network Menu")

        layout = QHBoxLayout()
        layout.addWidget(self.tabs)

        self.tabs.tabBarClicked.connect(self.tab_push)
        self.setLayout(layout)

    def tab_push(self):
        x = self.tabs.currentIndex()
        print(x)

app = QApplication(sys.argv)

window = Window()
window.show()

sys.exit(app.exec_())

缩进有点奇怪,不知道为什么会这样,但它仍然有效。

这不是错误而是正常行为:按下标签栏时获取索引,发出信号 tabBarClicked,然后更改 currentIndex,然后在发出信号和 currectIndex 之间有一个时间更新,就是在那一刻,你给人留下了印象。如果要获取按下的选项卡的索引,请使用信号信息:

def tab_push(self, <b>index</b>):
    print(index)