Python PyQt-强制首先显示一个选项卡?

Python PyQt-强制首先显示一个选项卡?,python,qt,user-interface,pyqt,Python,Qt,User Interface,Pyqt,快速提问-我正在pyqt中开发一个GUI,它有两个选项卡。现在,第二个选项卡在启动时总是打开的,我认为这是因为它运行一个函数来查找要粘贴在QLineEdit中的文件名。我真的希望第一个标签在启动时出现。如何执行此操作?如果使用Qt Creator构建UI,则保存UI时处于活动状态的选项卡将设置为默认选项卡。您可以通过返回Qt Creator,选择要作为默认选项卡的选项卡并重新保存它,然后将.ui重新创建到.py文件来纠正此问题 或者,您可以利用QTabWidgets 将int设置为要显示的选项卡

快速提问-我正在pyqt中开发一个GUI,它有两个选项卡。现在,第二个选项卡在启动时总是打开的,我认为这是因为它运行一个函数来查找要粘贴在QLineEdit中的文件名。我真的希望第一个标签在启动时出现。如何执行此操作?

如果使用Qt Creator构建UI,则保存UI时处于活动状态的选项卡将设置为默认选项卡。您可以通过返回Qt Creator,选择要作为默认选项卡的选项卡并重新保存它,然后将
.ui
重新创建到
.py
文件来纠正此问题

或者,您可以利用
QTabWidget
s

int
设置为要显示的选项卡的索引

例如:

from PyQt4 import QtGui
from PyQt4 import QtCore
import sys

def main():   
    app     = QtGui.QApplication(sys.argv)
    tabs    = QtGui.QTabWidget()    
    tab1    = QtGui.QWidget()   
    tab2    = QtGui.QWidget()
    tab3    = QtGui.QWidget()
    tabs.addTab(tab1,"Tab 1")
    tabs.addTab(tab2,"Tab 2")
    tabs.addTab(tab3,"Tab 3")   
    tabs.setWindowTitle('PyQt QTabWidget Add Tabs and Widgets Inside Tab')
    tabs.show() 

    # This will set "Tab 2" to be shown when the application launches
    tabs.setCurrentIndex(1)   
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()
这将启动一个“选项卡2”处于活动状态的窗口

如果删除了下面的行,则“选项卡1”在启动时处于活动状态

tabs.setCurrentIndex(1)

最好的方法是将第行中的“1”更改为“0”:

tabs.setCurrentIndex(1)
tabs.setCurrentIndex(0)