PyQt - 强制首先出现一个选项卡?
PyQt - forcing one tab to appear first?
小问题 - 我正在使用 pyqt 开发 GUI,它有两个选项卡。现在第二个选项卡总是在启动时打开,我认为这是因为它运行一个函数来查找要粘贴在 QLineEdit 中的文件名。我真的希望第一个选项卡出现在启动时。我该怎么做?
如果您使用 Qt Creator 构建 UI,保存 UI 时处于活动状态的选项卡将设置为默认选项卡。您可以通过返回 Qt Creator 来更正此问题,选择您希望成为默认选项卡并重新保存并重新创建 .ui
到 .py
文件。
或者,您可以利用 QTabWidget
s setCurrentIndex(int)
。
将 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()
这将启动 window,其中 "Tab 2" 处于活动状态。
如果删除下面的行,则 "Tab 1" 在启动时处于活动状态
tabs.setCurrentIndex(1)
最好的方法是将行中的“1”更改为“0”:
tabs.setCurrentIndex(1)
喜欢
tabs.setCurrentIndex(0)
小问题 - 我正在使用 pyqt 开发 GUI,它有两个选项卡。现在第二个选项卡总是在启动时打开,我认为这是因为它运行一个函数来查找要粘贴在 QLineEdit 中的文件名。我真的希望第一个选项卡出现在启动时。我该怎么做?
如果您使用 Qt Creator 构建 UI,保存 UI 时处于活动状态的选项卡将设置为默认选项卡。您可以通过返回 Qt Creator 来更正此问题,选择您希望成为默认选项卡并重新保存并重新创建 .ui
到 .py
文件。
或者,您可以利用 QTabWidget
s setCurrentIndex(int)
。
将 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()
这将启动 window,其中 "Tab 2" 处于活动状态。
如果删除下面的行,则 "Tab 1" 在启动时处于活动状态
tabs.setCurrentIndex(1)
最好的方法是将行中的“1”更改为“0”:
tabs.setCurrentIndex(1)
喜欢
tabs.setCurrentIndex(0)