PyQt-заставить одну вкладку появиться первой?
быстрый вопрос-я работаю над GUI в pyqt, и у него есть две вкладки. Сейчас вторая вкладка всегда открыта при запуске, я думаю, потому что она запускает функцию поиска имени файла для вставки в QLineEdit. Я бы очень хотел, чтобы первая вкладка появилась при запуске. Как мне это сделать?
2 ответов
если вы создаете свой пользовательский интерфейс с помощью Qt Creator, вкладка, которая была активна при сохранении пользовательского интерфейса, устанавливается как вкладка по умолчанию. Вы можете исправить это, вернувшись в Qt Creator, выбрав вкладку, которую вы хотите использовать по умолчанию, и сохранив ее и воссоздав .ui
to .
кроме того, вы можете использовать QTabWidget
s setCurrentIndex(int)
.
Set 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()
это запустит окно с активной вкладкой" Tab 2".
если строка ниже удалена, то "Tab 1" активна при запуске
tabs.setCurrentIndex(1)
лучший способ-просто изменить "1" на " 0 " в строке:
tabs.setCurrentIndex(1)
как
tabs.setCurrentIndex(0)