Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PyQt4(QTabWidget)如何更改选项卡页面的位置_Qt_Qt4_Pyqt4 - Fatal编程技术网

PyQt4(QTabWidget)如何更改选项卡页面的位置

PyQt4(QTabWidget)如何更改选项卡页面的位置,qt,qt4,pyqt4,Qt,Qt4,Pyqt4,我正在用PyQt和QT4编写一个应用程序。我正在使用一个QTabWidget,并已将我的选项卡设置为可关闭,并已将tabCloseRequsted信号连接到一个方法 self.ui.tabWidget.tabCloseRequested.connect(self.onTabClose) def onTabClose(self,index): self.ui.tabWidget.removeTab(index) 只要我只关闭最后一个标签页,这就行了,但如果有5个标签打开并

我正在用PyQt和QT4编写一个应用程序。我正在使用一个QTabWidget,并已将我的选项卡设置为可关闭,并已将tabCloseRequsted信号连接到一个方法

self.ui.tabWidget.tabCloseRequested.connect(self.onTabClose)

def onTabClose(self,index):       
    self.ui.tabWidget.removeTab(index)
只要我只关闭最后一个标签页,这就行了,但如果有5个标签打开并关闭第二个标签,第三、第四和第五个标签也会关闭。我想解决这个问题的方法是将我想要的标签移到末尾,这样它就有了最高的索引

然而,还有一件事。用户可以创建选项卡,所以当一个选项卡关闭时,我不知道是否有一个、两个或十个选项卡打开


如何移动选项卡页?还有更好的方法关闭标签页吗?

好的,我自己发现了问题。我将self.ui.tabWidget.tabCloseRequested.connect(self.onTabClose)放在与创建新选项卡相同的方法中。这意味着如果创建了5个选项卡,那么当其中一个选项卡关闭时,将触发5次TabCloseRequested。通过像我应该做的那样将这个connect语句放在类的init中,它只定义了一次,并且在关闭选项卡时只触发一次。

OK,我自己发现了问题。我将self.ui.tabWidget.tabCloseRequested.connect(self.onTabClose)放在与创建新选项卡相同的方法中。这意味着如果创建了5个选项卡,那么当其中一个选项卡关闭时,将触发5次TabCloseRequested。通过像我应该做的那样将这个connect语句放在类的init中,它只定义一次,并且在关闭选项卡时只触发一次。