PyQt编程快速上手
上QQ阅读APP看书,第一时间看更新

1.3.3 水平布局管理器QHBoxLayout

水平布局(Horizontal Layout)就是指将控件从左到右依次摆放,控件都是水平对齐的,我们可以用QHBoxLayout这个布局管理器来实现,如图1-15所示。

图1-15 水平布局

现在我们在程序中水平布局一个QLabel控件和一个QLineEdit控件,详见示例代码1-8。

示例代码1-8

import sys
from PyQt5.QtWidgets import *
 
class Window(QWidget):
    def __init__(self):
        super(Window, self).__init__()
        username_label = QLabel('Username:')    #注释1开始
        username_line = QLineEdit()             #注释1结束
 
        h_layout = QHBoxLayout()                #注释2开始
        h_layout.addWidget(username_label)
        h_layout.addWidget(username_line)
        self.setLayout(h_layout)                #注释2结束
 
if __name__ == '__main__':
    app = QApplication([])
    window = Window()
    window.show()
    sys.exit(app.exec())

运行结果如图1-16所示。

图1-16 控件水平布局

代码解释:

#1 除了Qlabel控件,我们还添加了QLineEdit控件,它是一个单行文本输入框,在这里用于输入账号。

#2 实例化一个水平布局管理器并调用addWidget()方法将QLabel控件和QLineEdit控件添加到布局中。接着通过窗口的setLayout()方法将水平布局方式设置为窗口的整体布局。

在水平布局中,先添加的控件位于后添加的控件左侧。