PyQt5学习笔记(十一):文本框与网格布局

上一篇的笔记学习了网格布局,其中的每一个按钮对应到一个网格,其实我们的窗口部件可以占据多个网格,我们可以据此做一个类似文本输入的窗口。本文由 Cescfangs 译自 ZetCode pyqt5系列教程 并作适当修改。

先上源代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QGridLayout, QTextEdit, QLineEdit


class exp(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        title = QLabel('Title')
        author = QLabel('Author')
        review = QLabel('Review')

        titleEdit = QLineEdit()
        authorEdit = QLineEdit()
        reviewEdit = QTextEdit()

        grid = QGridLayout()
        grid.setSpacing(10)
        grid.addWidget(title, 1, 0)
        grid.addWidget(titleEdit, 1, 1)
        grid.addWidget(author, 2, 0)
        grid.addWidget(authorEdit, 2, 1)
        grid.addWidget(review, 3, 0)
        grid.addWidget(reviewEdit, 3, 1, 5, 1)

        self.setGeometry(300, 300, 400, 400)
        self.setLayout(grid)

        self.setWindowTitle('review')

        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = exp()
    sys.exit(app.exec_())

以上的代码创建了三个QLabel部件,两个QLineEdit部件和一个QTextEdit部件共六个部件,通过QGridLayout将这六个部件进行排列。

grid = QGridLayout()
grid.setSpacing(10)

以上代码创建了一个网格布局,setSpacing(10)设置了网格间的距离为10。

grid.addWidget(reviewEdit, 3, 1, 5, 1)

之前的5个部件都是占据一个网格,现在reviewEdit占据了(3,1),(4,1),(5,1)共3个网格。

文本框
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,044评论 25 709
  • 前言 温馨提示:本文较长,图片较多,本来是想写一篇 CSS 布局方式的,但是奈何 CSS 布局方式种类太多并且实现...
    sunshine小小倩阅读 8,338评论 0 59
  • runtime的功能很强大,包含的的内容也很多,见下图 但是我们平时项目中使用的并不是很多,以下是几种常见的场景:...
    jjslove阅读 3,199评论 0 1
  • 本文是Elon Musk 2014年在南加州大学的毕业演讲 观后感 人物简介: 埃隆·马斯克(Elon Musk)...
    盟懂阅读 6,974评论 1 3
  • 2012年,我科赢了,说我科怎么不让一下老将,给别人的职业生涯一个圆满; 2017年,我科赢了,说我科怎么不让一下...
    卡洛琳F阅读 1,137评论 0 0