Python高级进阶#009 pyqt5中窗体的绝对布局和相对布局

简介: Python高级进阶#009 pyqt5中窗体的绝对布局和相对布局

一、知识回顾



1.点到了窗体的绝对布局。

2.窗体的居中方式:根据已知像素,计算窗体的起点位置。

Desktop()函数,这个函数是在Qapplication类中的。函数返回的结果QDesktopWidget对象。

想要获取水平方向,调用width函数

想要获取垂直方向,调用height函数

3.标签控件的使用qlabel


一、相对布局与绝对布局



相对布局

  • 布局中的控件可以随着窗体的变化而变化。
  • 布局中的控件之间的距离可以按照比例来调节。


绝对布局与相对布局的不同

1.绝对布局是直接将控件载入到窗体的位置就可以了。一般直接采用move函数移动到指定的位置后不变。

2.相对布局是要将控件放到盒布局中。一般是还要加入一个盒布局QHboxlayout(水平方向)Qvboxlayout (垂直方向),网格布局(Qgridboxlayout)


二、需要使用的组件或控件



  • QLineEdit控件

单行输入框:只能输入一行的文本编辑框。


  • QHBoxlayout水平盒布局

把所有的控件只能在水平方向上面排列,会自动一个个排列,不会重叠。默认情况下垂直居中的。


记忆方式:看H中的横线,就认为是水平布局。


三、布局排布



利用类似弹簧功能:就是直接使用盒布局的addstretch方法就可以了。

addstretch函数还可以对空白部分进行比例分割。


使用格式:

布局盒子.addstretch(弹簧比例)


弹簧比例:是指在窗体中空白布局进行指定的比例分割。


使用QVBoxlayout可以进行垂直布局,对于垂直布局的思想理解的情况下,再适当增加弹簧,可以使得布局更为灵活。


四、总结强调



1.掌握相对布局与绝对布局的区别。

2.掌握相对布局中的水平盒布局与垂直盒布局。

3.掌握盒布局中的控件比例排布的关系。


本节知识源代码:

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QVBoxLayout,QHBoxLayout,QGridLayout,QLineEdit,QLabel,QPushButton
class MyljyClass(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        self.setWindowTitle("刘金玉编程")
        self.setGeometry(app.desktop().width()/2-self.width()/2,50,400,300)
        lblCode=QLabel("验证码",self)
        leCode=QLineEdit(self)
        btnCode=QPushButton("验证",self)
        # leCode.move(40,0)
        # btnCode.move(190,0)
        # hlayout=QHBoxLayout(self)
        # hlayout.addWidget(lblCode)
        # hlayout.addWidget(leCode)
        # hlayout.addWidget(btnCode)
        vlayout=QVBoxLayout(self)
        # vlayout.addLayout(hlayout)
        vlayout.addWidget(lblCode)
        vlayout.addStretch(1)
        vlayout.addWidget(leCode)
        vlayout.addStretch(1)
        vlayout.addWidget(btnCode)
        vlayout.addStretch(2)
        self.show()
if __name__=="__main__":
    app=QApplication(sys.argv)
    mljy=MyljyClass()
    app.exec_()
相关文章
|
4月前
|
Python
【python】pyqt5大学生成绩信息管理系统-图形界面(源码+报告)【独一无二】
【python】pyqt5大学生成绩信息管理系统-图形界面(源码+报告)【独一无二】
209 1
|
2月前
|
数据可视化 IDE 开发工具
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
307 13
|
2月前
|
计算机视觉 Python
python利用pyqt5和opencv打开电脑摄像头并进行拍照
本项目使用Python的PyQt5和OpenCV库实现了一个简单的摄像头应用。用户可以通过界面按钮打开或关闭摄像头,并实时预览视频流。点击“拍照”按钮可以捕捉当前画面并保存为图片文件。该应用适用于简单的图像采集和处理任务。
151 0
python利用pyqt5和opencv打开电脑摄像头并进行拍照
WK
|
2月前
|
开发者 Python
Python代码布局规范有哪些
这段内容介绍了Python代码布局的规范,涵盖缩进、空行、行宽、空格使用、注释及顶级定义间的空行等方面,强调使用空格缩进、限制行宽、操作符两侧加空格、简洁注释等实践,旨在提升代码可读性和一致性,便于维护与理解。遵循这些规范能帮助开发者编写更清晰、整洁且易读的Python代码。
WK
47 2
|
2月前
|
数据可视化 IDE Linux
【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
321 2
|
2月前
|
数据可视化 IDE 开发者
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
248 1
|
2月前
|
数据可视化 数据处理 数据库
【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)
【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)
126 1
|
3月前
|
IDE 开发工具 Python
python3代码编程规范(命名、空格、注释、代码布局、编程建议等)
该文章详细介绍了Python3的编程规范,包括命名、空格使用、注释、代码布局等方面的最佳实践,帮助提升代码的可读性和一致性。
56 0
|
5月前
|
数据采集 网络协议 数据挖掘
网络爬虫进阶之路:深入理解HTTP协议,用Python urllib解锁新技能
【7月更文挑战第30天】网络爬虫是数据分析和信息聚合的关键工具。深入理解HTTP协议及掌握Python的urllib库对于高效爬虫开发至关重要。HTTP协议采用请求/响应模型,具有无状态性、支持多种请求方法和内容协商等特点。
54 3
|
5月前
|
数据采集 Java C语言
Python面向对象的高级动态可解释型脚本语言简介
Python是一种面向对象的高级动态可解释型脚本语言。
42 3