GUI编程Pyqt5之设置tab顺序

Pyqt5之设置tab顺序


对于一个应用程序,我们有时总希望使用Tab键来将焦点从一个部件移动到下一个部件。在设计模式,设计器提供了Tab键的设置功能。上面程序的设计模式中,单击上边栏的“编辑Tab顺序(Edit Tab Order)”按钮进人编辑Tab键顺序模式,这时已经显示出了各个部件的Tab键顺序,只需要单击这些数字即可以更改。需要说明,当程序启动时,焦点会在Tab键顺序为1的部件上。
在这里插入图片描述

在这里插入图片描述

import sys

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *


class AppGui(QWidget):
    def __init__(self):
        super(AppGui, self).__init__()
        self.initUI()

    def initUI(self):
        # self无父窗口,不是窗口部件,而是个窗口
        self.setWindowTitle("我是widget")

        #  设置布局管理器
        layout = QVBoxLayout()

        # 设置标签和行编辑器
        label1 = QLabel("我是个窗口1")
        label1.setText("姓名")
        label2 = QLabel("我是个窗口2")
        label2.setText("性别")
        label3 = QLabel("我是个窗口3")
        label3.setText("年龄")

        # 这里要把窗口对象传进去不然tab顺序不生效
        lineEdit1 = QLineEdit(self)
        lineEdit2 = QLineEdit(self)
        lineEdit3 = QLineEdit(self)

        # 将部件添加到布局管理器中
        layout.addWidget(label1)
        layout.addWidget(lineEdit1)
        layout.addWidget(label2)
        layout.addWidget(lineEdit2)
        layout.addWidget(label3)
        layout.addWidget(lineEdit3)

        self.setTabOrder(lineEdit2, lineEdit1)  # lineEdit2 -->lineEdit1  转移顺序
        self.setTabOrder(lineEdit1, lineEdit3)  # lineEdit1 -->lineEdit3

        #  设置全局布局管理器
        self.setLayout(layout)


if __name__ == '__main__':
    # 创建应用程序
    app = QApplication(sys.argv)

    # 在应用程序里创建窗口
    ui = AppGui()
    #  显示窗口
    ui.show()

    # 进入程序的主循环、并通过exit函数确保主循环安全结束
    sys.exit(app.exec_())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值