上QQ阅读APP看书,第一时间看更新
1.3.4 表单布局管理器QFormLayout
表单布局管理器就是指将控件按照表单的样式进行布局,比如可以将控件以一行两列的形式进行布局。表单布局管理器通常用来设置文本型控件和输入型控件(比如QLabel和QLineEdit)的布局,通常左列控件为文本型控件,右列控件为输入型控件。使用该布局管理器可以帮助我们快速实现一个登录界面,详见示例代码1-9。
示例代码1-9
import sys
from PyQt5.QtWidgets import *
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
username_label = QLabel('Username:') # 注释1开始
password_label = QLabel('Password:')
username_line = QLineEdit()
password_line = QLineEdit() # 注释1结束
f_layout = QFormLayout() # 注释2开始
f_layout.addRow(username_label, username_line)
f_layout.addRow(password_label, password_line)
self.setLayout(f_layout) # 注释2结束
if __name__ == '__main__':
app = QApplication([])
window = Window()
window.show()
sys.exit(app.exec())
运行结果如图1-17所示。
图1-17 表单布局
代码解释:
#1 实例化两个QLabel控件和两个QLineEdit控件,这两个QLineEdit控件分别用来输入账号和密码。
#2 实例化一个表单布局管理器,然后调用addRow()方法添加Qlabel控件和QLineEdit控件。这样username_label和username_line就处在第一行,password_label和password_line就处在第二行。左列控件为QLabel,右列控件为QLineEdit。