Python高级进阶#010 pyqt5网格布局QGridLayout

一、知识回顾:

1.掌握QHboxLayout水平盒子布局

2.掌握QVboxLayout垂直盒子布局

盒子布局,我们可以结合自带的”弹簧功能”addstrech

3.QLineEdit类库作用:单行文本框


本期知识视频教程

以下开始文字讲解:

一、网格布局QGridLayout

网格布局的类似样子

网格布局使用时候需要注意:

1.要导入类库QGridLayout

2.该布局的索引默认从0开始

3.使用网格布局前先要进行类的实例化

二、多行文本框QTextEdit

  • 使用QTextEdit这个类库
  • 使用方法类似于直接对类的实例化即可

举例:

tecontent=QTextEdit()

三、制作一个文章录入界面

界面效果

网格布局好处:

1.可以将我们的控件进行一个类似表格的很好的规划

2.这个布局可以让我们的控件随着窗体的变化而变化

网格布局设置

我们其实可以通过网格布局实例化后的对象,直接通过代码提示的方式看到很多我们可以直接实现的方法。

比如:我们想要设置网格之间的空间距离,我们可以设置setSpacing来设置

举例:

grid.setSpacing(空间的像素值)

我们要学会举一反三,通过set的方式可以尝试设置很多其它的功能。

四、总结强调

1.掌握网格布局的思想,掌握QGridLayout的应用。

2.掌握新控件多行文本框的使用。

3.掌握根据QTDesigner来了解新控件,或者根据pyqt5中提供的控件目录来了解新控件。

本节知识源代码

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

class MyClass(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("刘金玉编程")
        self.setGeometry(300,200,400,300)

        lbltitle=QLabel("标题")
        lblauthor=QLabel("作者")
        lblcontent=QLabel("内容")

        letitle=QLineEdit()
        leauthor=QLineEdit()
        tecontent=QTextEdit()

        grid=QGridLayout(self)
        grid.setSpacing(20)

        grid.addWidget(lbltitle,0,0)
        grid.addWidget(letitle,0,1)

        grid.addWidget(lblauthor,1,0)
        grid.addWidget(leauthor,1,1)

        grid.addWidget(lblcontent,2,0)
        grid.addWidget(tecontent,2,1)

        self.show()

if __name__=="__main__":
    app=QApplication(sys.argv)
    mc=MyClass()
    app.exec_()

本文分享自微信公众号 - 编程创造城市(bcczcs)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小麦苗的DB宝专栏

浅谈 DNS

概念:万维网(WWW是环球信息网的缩写,亦作“Web”、“WWW”、“'W3'”,英文全称为“World Wide Web”),作为域名和IP地址相互映射的一个...

6710
来自专栏eadela

JSP基础--会话跟踪技术、cookie、session

我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而1...

10820
来自专栏eadela

JSP基础--九大内置对象

Object findAttribute(String name):依次在page、request、session、application范围查找名称为name...

8330
来自专栏eadela

JSP基础--EL表达式

JSP2.0要把html和css分离、要把html和javascript分离、要把Java脚本替换成标签。标签的好处是非Java人员都可以使用。

12920
来自专栏小麦苗的DB宝专栏

【OCP最新题库解析(052)--题51】 You want to use the ALTER SYSTEM statement

该系列专题为2018年4月OCP-052考题变革后的最新题库。题库为小麦苗解答,若解答有不对之处,可留言,也可联系小麦苗进行修改。

8520
来自专栏eadela

JSP基础--javaBean

JavaBean是一种规范,也就是对类的要求。它要求Java类的成员变量提供getter/setter方法,这样的成员变量被称之为JavaBean属性。

9120
来自专栏eadela

JSP基础--三大指令

JSP指令的格式:<%@指令名 attr1=”” attr2=”” %>,一般都会把JSP指令放到JSP文件的最上方,但这不是必须的。

11030
来自专栏AiSmart4J

JVM故障分析及性能优化实战(IV)——jstack生成的Thread Dump日志线程状态

前面文章中只分析了Thread Dump日志文件的结构,今天针对日志文件中 Java EE middleware, third party & custom a...

10530
来自专栏eadela

vuejs基础-v-for用法

在组件中,使用v-for循环的时候,或者在一些特殊情况中,如果v-for有问题,必须使用v-for的同时,指定唯一的字符串/数字类型:key值

8330
来自专栏eadela

JSP基础--JSP入门

JSP(Java Server Pages)是JavaWeb服务器端的动态资源。它与html页面的作用是相同的,显示数据和获取数据。

14720

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励